本题要求实现一个函数,判断一个正整数是否为素数。int prime(int x);
时间: 2024-02-12 14:08:37 浏览: 117
python 输入一个正整数判断它是不是素数 示例
5星 · 资源好评率100%
判断一个正整数是否为素数可以使用试除法进行判断。试除法的基本思路是,对于待判断的数n,从2到sqrt(n)枚举所有可能的因子,如果存在能整除n的因子,则n不是素数,否则n是素数。代码实现如下:
```c
int prime(int x) {
if (x < 2) { // 小于2的整数不是素数
return 0;
}
for (int i = 2; i * i <= x; i++) {
if (x % i == 0) { // 如果存在能整除x的因子,则x不是素数
return 0;
}
}
return 1; // 否则x是素数
}
```
该函数的实现中,首先特判小于2的整数,它们不是素数,直接返回0。然后从2到sqrt(x)枚举所有可能的因子i,如果存在能整除x的因子,则x不是素数,直接返回0。如果枚举完所有因子都没有找到能整除x的数,则x是素数,返回1。例如,调用`prime(5)`返回1,调用`prime(12)`返回0。
注意,该函数的时间复杂度为$O(\sqrt{n})$,可以通过枚举所有可能的因子进行判断,但对于较大的整数可能会比较耗时。如果需要提高效率,可以使用更高效的素数判定算法。
阅读全文