判断是否为素数的函数c语言,不使用<stdbool.h>
时间: 2024-09-18 14:18:14 浏览: 45
在C语言中,判断一个整数是否为素数的传统方法是通过试除法。下面是一个简单的函数示例,它使用循环从2到该数的平方根(因为大于这个范围的因子必然有一个小于等于它的平方根),如果找到能整除的因子,则说明不是素数。如果没有找到因子,则它是素数。
```c
#include <stdio.h>
#include <math.h>
int isPrime(int num) {
if (num <= 1) {
return 0; // 1不算素数,0也不算
}
if (num == 2 || num == 3) {
return 1; // 2和3是素数
}
if (num % 2 == 0) {
return 0;
}
int sqrtNum = floor(sqrt(num)); // 取整并向下取整
for (int i = 3; i <= sqrtNum; i += 2) { // 只检查奇数因子
if (num % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int number;
printf("请输入一个整数:");
scanf("%d", &number);
if (isPrime(number)) {
printf("%d 是素数。\n", number);
} else {
printf("%d 不是素数。\n", number);
}
return 0;
}
阅读全文