C语言输入一个正整数,判断是否为素数
时间: 2025-02-03 20:02:51 浏览: 48
### C语言实现判断正整数是否为素数
在C语言中,可以通过编写函数来判断一个给定的正整数是否为素数。下面是一个完整的程序示例:
```c
#include <stdio.h>
bool isPrime(int num) {
if (num <= 1) return false;
if (num == 2 || num == 3) return true;
if (num % 2 == 0 || num % 3 == 0) return false;
for (int i = 5; i * i <= num; i += 6) {
if (num % i == 0 || num % (i + 2) == 0) return false;
}
return true;
}
int main() {
int n;
printf("请输入一个正整数: ");
scanf("%d", &n);
if (isPrime(n)) {
printf("Yes\n");
} else {
printf("No\n");
}
return 0;
}
```
此代码通过优化后的算法提高了效率[^1]。
对于较小范围内的数值测试,可以采用更简单的形式来进行验证:
```c
#include <stdio.h>
bool check_prime(int number){
if(number <= 1) return false;
for(int divisor = 2;divisor*divisor<=number;++divisor){
if((number%divisor)==0)return false;
}
return true;
}
int main(){
int inputNumber;
printf("输入要检测的数字:");
scanf("%d",&inputNumber);
if(check_prime(inputNumber)){
puts("该数是素数.");
}else{
puts("该数不是素数.");
}
return 0;
}
```
这段简化版的代码同样能够有效地完成任务,并且易于理解[^2]。
为了进一步提升性能,在处理较大规模的数据集时,还可以考虑引入埃拉托斯特尼筛法等高级技术[^4]。
阅读全文
相关推荐




















