给定一个数,判断它是不是一个素数。
素数就是除了1
和它本身没有其他因数的数
int isPrime(int n) { // (1)
int i, sqrtn = sqrt(n + 1e-6);
if(n <= 1) {
return 0; // (2)
}
for(i = 2; i <= sqrtn; ++i) {
if(n % i == 0) { // (3)
return 0;
}
}
return 1; // (4)
}
( 1 ) (1)(1) 定义一个函数,函数传入参数n,如果n为素数返回 1;否则返回 0;
( 2 ) (2)(2) 当n <= 1时,必然不是素数,直接返回 0;
( 3 ) (3)(3) 如果找到一个数,是 n nn 的因子,且值不为 1,则 n必然不是素数,返回 0;
( 4 ) (4)(4) 找不到除 n nn 和 1 11 以外的因子,代表它是素数没跑了,直接返回 1;
isPrime(int n){
if(n == 1) return 0;
int i;
for(i = 2;i*i <= n;i++){
if(n % i == 0) return 0;
}
return 1;
}