C语言程序给定一个正整数 i,输出第 i 小的质数。
时间: 2024-10-14 14:13:53 浏览: 40
给定N个正整数,请统计奇数和偶数各有多少个-C语言代码
在C语言中,找到第i小的质数需要一些算法技巧。首先,你需要编写一个函数来判断一个数字是否是质数。然后,你可以从最小的质数2开始,逐个检查每个后续的整数,直到找到第i个质数。这是一个基本的步骤:
1. 定义一个函数`is_prime`,用于检测一个数是否是质数。例如,可以利用试除法来检查。
```c
int is_prime(int num) {
if (num <= 1)
return 0;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return 0;
}
return 1;
}
```
2. 编写主函数`find_nth_prime`,它接受一个整数i作为输入,遍历并计数质数,直到找到第i个。
```c
int find_nth_prime(int i) {
int count = 0, num = 2; // 初始化计数器和从2开始
while (count < i) {
if (is_prime(num)) {
count++;
if (count == i)
break;
}
num++;
}
return num - 1; // 因为我们在查找的是第(i-1)个质数,所以返回num-1
}
// 调用函数并打印结果
int main() {
int input_i;
printf("请输入一个正整数i:");
scanf("%d", &input_i);
int nth_prime = find_nth_prime(input_i);
printf("第%d小的质数是:%d\n", input_i, nth_prime);
return 0;
}
```
阅读全文