C++实现找出100-200之间的素数简化
时间: 2024-09-29 10:05:40 浏览: 28
在C++中,我们可以利用埃拉托斯特尼筛法(Sieve of Eratosthenes)简化找出100到200之间的素数。这是一个古老的算法,用于寻找所有小于给定数的质数。下面是简单的实现步骤:
```cpp
#include <iostream>
#include <vector>
std::vector<int> 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) {
if (isPrime[i]) {
for (int j = i * i; j <= end; j += i) {
isPrime[j] = false;
}
}
}
std::vector<int> primes;
for (int i = start; i <= end && isPrime[i]; ++i) {
primes.push_back(i);
}
return primes;
}
int main() {
int rangeStart = 100;
int rangeEnd = 200;
auto primeList = findPrimes(rangeStart, rangeEnd);
std::cout << "素数列表: ";
for (const auto& prime : primeList) {
std::cout << prime << " ";
}
阅读全文