📅  最后修改于: 2023-12-03 15:37:14.362000             🧑  作者: Mango
本题要求编写一个函数,判断一个整数是否为一个素数。如果整数是素数,返回1,否则返回0。
/**
* 判断一个整数是否为素数
* @param n 待判断的整数
* @return 若 n 是素数,返回 1,否则返回 0
*/
int is_prime(int n) {
// 如果 n 不是正整数,直接返回 0
if (n <= 1) {
return 0;
}
// 判断从 2 到 n - 1 之间是否有任意一个数能整除 n
for (int i = 2; i < n; i++) {
if (n % i == 0) {
return 0;
}
}
// 如果上述两个条件都不符合,说明 n 是素数
return 1;
}
该函数的原理是通过枚举从2到n-1之间的每个数,判断是否能整除n。如果存在一个数能够整除n,则n不是素数;否则,n就是素数。需要注意的是,0和1不是素数,因此在判断n是否是素数之前,需要先判断n是否是正整数。
以上是本人针对ISRO CS 2009问题49的解答,如有不妥之处,请指教。