用c++写一个判断101到200之间有多少个素数的程序
时间: 2024-10-15 19:24:26 浏览: 54
在C++中,我们可以使用一种常见的算法来判断一个数是否是素数——埃拉托斯特尼筛法(Sieve of Eratosthenes)。这里我们编写一个简单的程序,遍历101到200之间的所有整数,并检查它们是否为素数:
```cpp
#include <iostream>
#include <vector>
bool isPrime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; ++i) {
if (num % i == 0)
return false;
}
return true;
}
int countPrimes(int start, int end) {
std::vector<bool> primes(end + 1, true); // 初始化从2到end都是质数
primes[0] = primes[1] = false;
for (int i = 2; i * i <= end; ++i) { // 遍历并标记非质数
if (primes[i]) {
for (int j = i * i; j <= end; j += i)
primes[j] = false;
}
}
int count = 0;
for (int i = start; i <= end && primes[i]; ++i)
count++;
return count;
}
int main() {
int start = 101;
int end = 200;
int primeCount = countPrimes(start, end);
std::cout << "在区间 [" << start << ", " << end << "] 之间,共有 " << primeCount << " 个素数。\n";
return 0;
}
```
这个程序首先初始化一个布尔向量,所有数字都被假定为质数。然后从2开始,找到所有的质数因子并将它们的倍数标记为非质数。最后,统计起始和结束范围内的所有未被标记为非质数的数字,即为素数的数量。
阅读全文
相关推荐
![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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)