c语言输出小于21000的最大素数
时间: 2024-10-21 18:14:33 浏览: 17
在C语言中,要找出小于21000的最大素数,我们可以采用埃拉托斯特尼筛法(Sieve of Eratosthenes)。这个算法用于找出所有不超过给定数n的质数。以下是基本步骤:
1. 创建一个布尔数组isPrime[21000],并初始化所有元素为true,表示从2到21000之间的数都是潜在的素数。
2. 从第一个素数2开始,将isPrime中的每个倍数标记为非素数。
3. 遍历isPrime,找到第一个未被标记为false的数(即下一个素数),将其赋值给当前最大素数,并继续寻找下一个素数,直到遍历完整个数组。
4. 当找到大于等于21000的素数时,退出循环。
以下是简单的C语言代码实现:
```c
#include <stdio.h>
#define LIMIT 21000
int isPrime(int num) {
if (num <= 1)
return 0;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return 0;
}
return 1;
}
int main() {
int maxPrime = 0;
int primes[LIMIT + 1];
for (int i = 2; i <= LIMIT; i++) {
if (isPrime(i)) {
maxPrime = i;
if (maxPrime >= 21000)
break;
}
primes[i] = maxPrime;
}
printf("小于21000的最大素数是:%d\n", maxPrime);
//
阅读全文