一个大于等于3并小于10000的正整数n,判断n是否是素数。 输出 如果n是素数,输出“prime”,否则请输出“not prime”。 请注意不需要输出引号,行尾输出换行。
时间: 2024-09-29 13:04:35 浏览: 21
要判断一个大于等于3且小于10000的正整数n是否为素数,我们需要遍历从2到√n(取整)的范围,看是否存在能够整除n的因子。如果存在,则n不是素数;若不存在,则n是素数。以下是一个简单的C程序实现:
```c
#include <stdio.h>
#include <math.h>
int main() {
int n, i;
printf("Enter a number (greater than or equal to 3 and less than 10000): ");
scanf("%d", &n);
// 确保输入符合要求
if (n < 3 || n >= 10000) {
printf("Invalid input! Number should be between 3 and 9999.\n");
return 0;
}
// 判断素数
for (i = 2; i <= sqrt(n); ++i) {
if (n % i == 0) {
printf("not prime\n");
break;
}
}
// 如果没找到因子则n是素数
else {
printf("prime\n");
}
return 0;
}
```
在这个程序中,我们首先获取用户的输入,然后检查其有效性。接着用循环遍历从2到n的平方根,对于每个数字i,我们检查n能否被i整除。如果能,说明n不是素数,打印"not prime"并退出循环。如果循环结束后没有找到因子,则n是素数,打印"prime"。