Prime Funktion im Gericht, zu beurteilen, ob eine Zahl prim ist, warum zusätzlich zu dieser Zahl lang genug Wurzel

Der folgende Code zu verstehen, wie die i <= sqrt (x) auch!

#include<bits/stdc++.h>//万能头文件,拿走不谢。 
using namespace std;
bool isprime(int x) {
	if(x == 1)
		return false;
	for(int i = 2; i <= sqrt(x); i++)//是因为不是素数,必然是合数,合数必然是除1和本身之外的两个数相乘。 
		if(x % i == 0) return false;
	return true;
}
int main() {
	int n;
	cin >> n;
	for(int i = 0; i < n; i++) {
		int b;
		cin >> b;
		printf("%s\n", isprime(b) ? "Yes" : "No");
	}
	return 0;
}

Im Folgenden diese Zahl auf 16, beispielsweise die folgende Operation

Hier hat Bild einfügen Beschreibung
16 ist eine zusammengesetzte Zahl (und zusätzlich zu ihren anderen als 1 auch teilbar sein kann und relativ prim)

16 wird durch Multiplikation zweier Faktoren erhalten wird, wobei Faktoren wie Faktor 1 und 2 geschrieben werden kann. (Wie Lila Wortteil)

6 3 * 4 * 4 = red painting unter der Nummer 16 = 1 = 2 * 16 * 8 = 16 Videos ist relativ kleiner Faktor, dass Faktor ist immer weniger als 1 ist gleich die Quadratwurzel aus 16.

Der Vorteil dieser

Von 2 bis beginnen Primzahlen Screening, solange es Faktor Screening 1 kann es beweisen , dass es kann nicht durch eine Primzahl teilbar. Das spart eine Menge der Berechnung, wie> Nummer 10000, Sie waren mehr als können hundert Zyklen festzustellen , ob es eine Primzahl ist, und somit direkt nach unten auf 100 von 10000.
Wenn also effizient.

Veröffentlicht acht Originalartikel · erntete Lob 8 · Ansichten 206

Ich denke du magst

Origin blog.csdn.net/xzy15703841578/article/details/105264168
Empfohlen
Rangfolge