C语言求1000以内的素数的个数
时间: 2024-09-26 19:00:46 浏览: 49
在C语言中,我们可以使用“埃拉托斯特尼筛法”(Sieve of Eratosthenes)来求解1000以内素数的个数。这个算法的基本思想是从2开始,将每个质数的倍数标记为合数,直到达到1000为止。最后未被标记的数字就是素数。
以下是简单的C程序实现:
```c
#include <stdio.h>
#include <stdbool.h>
void sieve_of_eratosthenes(int limit, bool prime[]) {
int i, j;
for (i = 2; i * i <= limit; i++) {
if (prime[i]) {
for (j = i * i; j <= limit; j += i) {
prime[j] = false;
}
}
}
}
int count_primes(int limit) {
bool prime[limit+1]; // 真值数组,true表示该数是素数
memset(prime, true, sizeof(prime)); // 初始化所有数为素数
sieve_of_eratosthenes(limit, prime);
int count = 0;
for (int i = 2; i <= limit; i++) {
if (prime[i]) {
count++;
}
}
return count;
}
int main() {
int n = 1000;
printf("Number of primes less than or equal to %d is %d\n", n, count_primes(n));
return 0;
}
```
当你运行此程序,它会计算并打印出1000以内有多少个素数。
阅读全文
相关推荐
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)