Cod sursa(job #1951480)
| Utilizator | Data | 3 aprilie 2017 17:24:17 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.61 kb |
#include <cstdio>
#include <algorithm>
#include <vector>
#define in "ciur.in"
#define out "ciur.out"
#define NMAX (2000000 + 7)
#define LL long long
using namespace std;
LL n, cnt = 1;
bool ciur[NMAX];
int main()
{
freopen(in, "ciur.in", stdin);
freopen(out, "ciur.out", stdout);
scanf("%lld", &n);
ciur[1] = 1;
for(LL i = 4; i<= n; i+=2) ciur[i] = 1;
for(LL i = 3; i<= n; i+=2)
{
if(ciur[i]) continue;
cnt ++;
for(LL j = 1LL*i*i; j<= n; j+=i)
{
ciur[j] = 1;
}
}
printf("%lld\n", cnt);
return 0;
}
