用c++实现第n小的质数
时间: 2023-05-24 13:06:37 浏览: 109
C++ 实现求小于n的最大素数的实例
5星 · 资源好评率100%
以下是使用C语言实现第n小的质数的示例代码:
```c
#include <stdio.h>
int isPrime(int num) {
int i;
for(i = 2; i <= num / 2; i++) {
if(num % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int n, count = 0, num = 2;
printf("输入n:");
scanf("%d", &n);
while(count < n) {
if(isPrime(num) == 1) {
count++;
}
num++;
}
printf("第%d小的质数为%d\n", n, num - 1);
return 0;
}
```
上述代码中,`isPrime`函数用于判断一个数是否为质数。我们使用一个`count`变量来记录已经找到的质数个数,用`num`变量记录当前数字,初始值为2(因为2是最小的质数)。每次循环时,如果`isPrime(num)`返回1,说明`num`是一个质数,将`count`加1。当`count`等于输入的`n`时,输出当前数字`num-1`即可。
需要注意的是,当输入较大的数时,程序的执行速度可能较慢。可以考虑一些优化方法来加快程序的执行速度,例如使用更高效的质数判断算法、添加 break 语句减少循环次数等。
阅读全文