Pagini recente » Cod sursa (job #1783656) | Cod sursa (job #278883) | Cod sursa (job #2451815) | Cod sursa (job #2055971) | Cod sursa (job #629060)
Cod sursa(job #629060)
#include <cstdio>
#include <algorithm>
using namespace std;
#define Nmax 2000010
int N, sol;
unsigned int ciur[Nmax / 32];
void Ciur () {
int i, j;
for (i = 2; i <= N; i++)
if ( ((ciur [i >> 5] >> (i & 31)) &1) == 0 ) {
sol++;
for (j = i + i; j <= N; j+= i)
ciur[j >> 5]|= (1 << ( j & 31 ));
}
printf ("%d\n", sol);
}
int main () {
freopen ("ciur.in", "r", stdin);
freopen ("ciur.out", "w", stdout);
scanf ("%d", &N);
Ciur ();
return 0;
}