写一段程序可以筛选出一万以内的质数
时间: 2024-03-05 15:54:18 浏览: 19
以下是一个可以筛选出一万以内的质数的程序:
```c++
#include <iostream>
#include <cmath>
using namespace std;
int main() {
const int n = 10000;
bool isPrime[n+1];
fill(isPrime, isPrime+n+1, true);
isPrime[0] = isPrime[1] = false; // 0和1不是质数
// 筛选质数
for (int i = 2; i <= sqrt(n); i++) {
if (isPrime[i]) {
for (int j = i*i; j <= n; j += i) {
isPrime[j] = false;
}
}
}
// 输出质数
for (int i = 2; i <= n; i++) {
if (isPrime[i]) {
cout << i << " ";
}
}
cout << endl;
return 0;
}
```
该程序使用布尔数组 `isPrime` 来标记每个数是否为质数。首先将布尔数组初始化为 `true`,然后从2开始,将其倍数所对应的布尔值都标记为 `false`。最后遍历一遍数组,输出所有标记为 `true` 的数,即为质数。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)