题目描述
写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息。
输入
一个数 n (n<=1000000007)
输出
如果是素数输出 prime
,如果不是输出 not prime
。
输入输出样例
样例输入 #1
复制
33
样例输出 #1
复制
not prime
样例输入 #2
复制
97
样例输出 #2
复制
prime
提示
主函数已给定如下,提交时不需要包含下述主函数。
C:
int main()
{
int flag, n;
int is_prime(int);
scanf("%d", &n);
flag= is_prime(n);
if (flag == 1)
printf("prime\n");
else
printf("not prime\n");
return 0;
}
int is_prime(int n) {
// 小于等于1的数不是素数
if (n <= 1)
return 0;
// 判断是否存在除了1和本身以外的因子
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0; // 不是素数
}
}
return 1; // 是素数
}