El código siguiente para entender cómo i <= sqrt (x) también!
#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;
}
A continuación este número a 16, por ejemplo, la siguiente operación |
---|
16 es un número compuesto (y es, además de su distinto de 1 también puede ser divisible y relativamente primo)
16 se obtiene por la multiplicación de dos factores, donde los factores puede ser escrita como 1 y 2 factor. (Tales como púrpura parte palabra)
6 3 * 4 * 4 = pintura de color rojo con el número 1 = 16 = 2 * 16 * 8 = 16 Videos son factor relativamente pequeño, que factor es siempre menor que 1 es igual a la raíz cuadrada de 16.
El beneficio de este |
---|
Del 2 al iniciar el cribado primos, siempre y cuando no es el factor 1 de cribado se puede probar que no podía divisible por un número primo. Esto ahorra una gran cantidad de computación, tales como> número 10000, eras más de un centenar de ciclos se puede determinar si es un número primo, y por lo tanto directamente a 100 de 10000.
Así, cuando eficiente.