c++用筛法求100之内的素数
时间: 2024-11-09 15:23:07 浏览: 23
筛法求素数的c++实现
C++中可以使用筛法求100以内的素数。具体步骤如下:
1. 定义一个bool类型的数组,长度为100,用于标记是否为素数。初始值都为true。
2. 从2开始遍历到sqrt(100),对于每个小于等于sqrt(100)的素数p,将数组中p的倍数标记为false。
3. 遍历数组,输出值为true的下标,即为100以内的素数。
以下是C++代码实现:
```
#include <iostream>
#include <cmath>
using namespace std;
int main() {
bool is_prime[100];
for (int i = 0; i < 100; i++) {
is_prime[i] = true;
}
for (int i = 2; i <= sqrt(100); i++) {
if (is_prime[i]) {
for (int j = i * i; j < 100; j += i) {
is_prime[j] = false;
}
}
}
for (int i = 2; i < 100; i++) {
if (is_prime[i]) {
cout << i << " ";
}
}
return 0;
}
阅读全文