Pagini recente » Soluții Summer Challenge 2009, Runda 2 | Cod sursa (job #96831) | Cod sursa (job #2000039) | Cod sursa (job #1510828) | Cod sursa (job #1951479)
#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;
}