设计统计2-100内素数个数,c语言
时间: 2024-12-08 13:21:14 浏览: 13
统计给定整数M和N区间内素数的个数并对它们求和-C语言代码
设计一个 C 语言程序来统计 2 到 100 内的素数个数,可以采用埃拉托斯特尼筛法(Sieve of Eratosthenes)。以下是简单的步骤:
1. 初始化一个大小为 100 的布尔数组 isPrime,所有元素初始值设为 true,表示从 2 开始到 100 都认为是可能的素数。
2. 遍历数组,对于每个数字 i(从 2 开始),如果它已经被标记为素数(isPrime[i] == true),那么更新它的倍数(i * j <= 100),将它们标记为非素数(isPrime[i * j] = false)。
3. 当遍历完成后,数组中仍为 true 的位置对应的数字就是素数,因为它们没有被除自身外的其他数整除。
以下是这个算法的简单 C 代码实现:
```c
#include <stdio.h>
int countPrimes(int n) {
int primes[101] = {0};
for (int i = 2; i * i <= n; i++) {
if (primes[i] == 0) {
for (int j = i * i; j <= n; j += i) {
primes[j] = 1;
}
}
}
int count = 0;
for (int i = 2; i <= n; i++) {
if (!primes[i]) {
count++;
}
}
return count;
}
int main() {
int limit = 100;
int primeCount = countPrimes(limit);
printf("There are %d prime numbers between 2 and %d.\n", primeCount, limit);
return 0;
}
阅读全文