0009 : Prime Number
解説
入力された整数以下の素数が何個あるかを出力する。
最初にエラトステネスの篩で素数の表を作ればOK。
プログラム
C
C++
|
+
|
... |
#include <iostream>
#include <cstdio>
using namespace std;
const int MAX = 1000000;
bool prime[MAX] = {false};
void set_prime() {
for (int i = 2; i*i <= MAX; i++) {
if (prime[i]) continue;
for (int j = i*2; j <= MAX; j += i) {
prime[j] = true;
}
}
}
int main() {
set_prime();
int n;
while (cin >> n) {
int cnt = 0;
if (n >= 2) {
cnt++;
for (int i = 3; i <= n; i += 2) {
if (!prime[i]) {
cnt++;
}
}
}
cout << cnt << endl;
}
return 0;
}
|
Java
最終更新:2012年12月23日 16:18