用C++写100以内的所有素数
时间: 2024-11-12 12:32:24 浏览: 67
在C++中,我们可以使用Sieve of Eratosthenes算法编写一个简单的程序来找出100以内的所有素数。这个算法是一种古老而有效的找到一组范围内所有质数的方法。以下是实现的基本代码:
```cpp
#include <iostream>
#include <vector>
// Function to check if a number is prime
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;
}
// Sieve of Eratosthenes
void printPrimes(int n) {
std::vector<bool> primes(n + 1, true); // Initialize all numbers as prime
primes[0] = primes[1] = false;
for (int p = 2; p * p <= n; p++) {
if (primes[p]) { // If p is prime
for (int i = p * p; i <= n; i += p) {
primes[i] = false; // Mark multiples of p as not prime
}
}
}
// Print the primes
for (int p = 2; p <= n; p++)
if (primes[p])
std::cout << p << " ";
}
int main() {
int limit = 100;
printPrimes(limit);
return 0;
}
```
当你运行这段代码,它会打印出1到100之间的所有素数。
阅读全文
相关推荐
















