帮我写一个“任意输入一个正整数,判断是否素数”的C语言程序
时间: 2024-09-26 13:06:12 浏览: 35
当然,下面是一个简单的C语言程序,用于判断用户输入的正整数是否为素数:
```c
#include <stdio.h>
// 判断是否为素数的辅助函数
bool is_prime(int n) {
if (n <= 1) {
return false;
}
if (n == 2 || n == 3) {
return true;
}
if (n % 2 == 0 || n % 3 == 0) {
return false;
}
for (int i = 5; i * i <= n; i += 6) {
if (n % i == 0 || n % (i + 2) == 0) {
return false;
}
}
return true;
}
int main() {
int number;
printf("请输入一个正整数:");
scanf("%d", &number);
if (is_prime(number)) {
printf("%d 是素数。\n", number);
} else {
printf("%d 不是素数。\n", number);
}
return 0;
}
```
在这个程序中,我们首先检查1和2的情况,然后从3开始,每次增加6(因为所有大于2的偶数都不是素数,而除了2以外的素数都可以表示为6k±1的形式),只检查这个序列中的数是否能整除输入的数。
阅读全文