请使用c加加语言用筛选法判断并输出一到一百内素数
时间: 2024-02-29 10:51:28 浏览: 76
C/C++利用筛选法算素数的方法示例
好的,以下是使用筛选法判断并输出一到一百内素数的 C++ 代码:
```cpp
#include <iostream>
using namespace std;
void sieve_of_eratosthenes(int n) {
bool prime[n+1];
memset(prime, true, sizeof(prime)); // 将所有元素初始化为 true
for (int p = 2; p * p <= n; p++) {
if (prime[p]) {
// 将 p 的倍数标记为 false
for (int i = p * p; i <= n; i += p) {
prime[i] = false;
}
}
}
// 输出所有素数
for (int p = 2; p <= n; p++) {
if (prime[p]) {
cout << p << " ";
}
}
}
int main() {
sieve_of_eratosthenes(100);
return 0;
}
```
输出结果为:
```
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
```
这个算法的时间复杂度为 O(nloglogn),比较高效。
阅读全文