用C语言解决:对1000000以内的任意一个给定的质数,找出比其大的最小质数。
时间: 2024-03-20 15:39:39 浏览: 64
求n以内最大的k个素数以及它们的和(C)
好的,以下是用 C 语言实现的代码,用于找出大于任意一个给定的质数的最小质数:
```c
#include <stdio.h>
#include <stdbool.h>
#include <math.h>
bool is_prime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
int given_prime = 17;
int next_prime = given_prime + 1;
while (!is_prime(next_prime)) {
next_prime += 1;
}
printf("%d\n", next_prime);
return 0;
}
```
在这个示例中,我们使用了一个函数 is_prime 来判断一个数是否为质数。函数中的 for 循环从 2 到该数的平方根之间遍历,判断该数是否能够被整除,从而判断该数是否为质数。
在主函数中,我们假设给定的质数为 17,然后使用 is_prime 函数判断 17 是否为质数。由于 17 是质数,我们将 next_prime 初始化为 18,然后使用一个 while 循环来遍历比 17 大的整数,直到找到下一个质数为止。在每次循环中,我们将 next_prime 加1,并使用 is_prime 函数判断该数是否为质数。如果该数不是质数,则继续循环,直到找到下一个质数为止。最终,我们将找到的下一个质数打印出来,即 19。
希望这个 C 语言代码能够帮助您解决问题!
阅读全文