输入一个大于3的整数n 判定他是否为素数 用c语言
时间: 2024-11-27 19:14:54 浏览: 11
从键盘任意输入两个整数,输出两数之间的素数,素数判断用函数实现。 扩展要求:1)程序可以循环执行,判断完一组可以再进行下一组;可以设定一个特殊键退出
5星 · 资源好评率100%
在C语言中,判断一个大于3的整数是否为素数通常采用试除法,即从2到这个数的平方根范围内,看是否有能整除它的数。如果存在这样的数,那么它就不是素数;如果没有找到,就是素数。以下是简单的C程序实现:
```c
#include <stdio.h>
#include <stdbool.h>
#include <math.h>
bool isPrime(int n) {
if (n <= 1) {
return false; // 小于等于1的数不是素数
} else if (n == 2) {
return true; // 2是最小的素数
} else if (n % 2 == 0) {
return false; // 偶数除了2之外都不是素数
}
int sqrt_n = sqrt(n); // 只需要检查到√n
for (int i = 3; i <= sqrt_n; i += 2) { // 从3开始,每次增加2,跳过偶数
if (n % i == 0) {
return false;
}
}
return true; // 没有找到因子,所以是素数
}
int main() {
int n;
printf("请输入一个大于3的整数:");
scanf("%d", &n);
if (isPrime(n)) {
printf("%d是素数\n", n);
} else {
printf("%d不是素数\n", n);
}
return 0;
}
```
阅读全文