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 |
---|
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.