c++/找出200-300之间所有的素数
时间: 2024-09-20 12:03:04 浏览: 42
在C++中,找出200到300之间的所有素数,可以使用经典的埃拉托斯特尼筛法(Sieve of Eratosthenes)来实现。这个算法的基本思想是从最小的质数开始,将其倍数标记为合数,然后继续寻找下一个未被标记的数,直到找到范围内的最大质数。
以下是C++代码片段:
```cpp
#include <iostream>
#include <vector>
void findPrimes(int start, int end) {
std::vector<bool> isPrime(end+1, true); // 创建一个布尔数组,初始化所有数为真
isPrime[0] = isPrime[1] = false; // 0和1不是质数
for (int i = 2; i*i <= end; i++) { // 只需检查到sqrt(end)
if (isPrime[i]) {
// 将i的所有倍数标记为合数
for (int j = i * i; j <= end; j += i)
isPrime[j] = false;
}
}
for (int i = start; i <= end; ++i) {
if (isPrime[i])
std::cout << i << " ";
}
}
int main() {
findPrimes(200, 300);
return 0;
}
```
当你运行这个程序,它将打印出200到300之间的所有素数。
阅读全文
相关推荐
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)