输出2-100以内的素数
时间: 2024-05-08 17:13:17 浏览: 11
要输出2-100以内的素数,可以使用质数筛法,具体步骤如下:
1. 创建一个长度为n(这里是100)的bool类型数组,初始化为true。
2. 从2开始循环到sqrt(n),将数组中2的倍数、3的倍数、4的倍数......直到sqrt(n)的倍数都标记为false。
3. 遍历数组,输出所有值为true的下标即为素数。
以下是输出2-100以内的素数的代码实现:
```
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
const int n = 100;
bool isPrime[n+1];
fill(isPrime, isPrime+n+1, true); // 初始化为true
for (int i = 2; i <= sqrt(n); i++) {
if (isPrime[i]) {
for (int j = i*i; j <= n; j += i) {
isPrime[j] = false;
}
}
}
cout << "2 ";
for (int i = 3; i <= n; i += 2) { // 只遍历奇数
if (isPrime[i]) {
cout << i << " ";
}
}
return 0;
}
```