筛选法求n以内的素数
程序员文章站
2024-03-15 15:20:30
...
题目:找出100以内的素数?
#include <iostream>
#include <cmath>
using namespace std;
int main() {
//统计100以内的素数,筛选法
int sum = 0, a[100] = { 0 };
for (int i = 2; i < sqrt(100.0); i++) { //只用考虑根号n以内的数的倍数就可以了
sum = i;
if (a[sum] == 0) { //已经被标记过了,就没必要再次标记了
while (sum < 100) {
sum = sum + i;
if (sum < 100) {
a[sum] = 1; //不是素数,进行标记
}
}
}
}
for (int i = 2; i < 100; i++) {
if (a[i] == 0) {
cout << i << " ";
}
}
return 0;
}
上一篇: 求N以内的素数
下一篇: HDU-6314 Matrix(计数)