Pagini recente » Cod sursa (job #979530) | Cod sursa (job #449388) | Cod sursa (job #2139022) | Cod sursa (job #530299) | Cod sursa (job #629293)
Cod sursa(job #629293)
#include<cstdio>
unsigned int n;
int main()
{
unsigned int i, j, k = 0;
freopen("ciur.in", "r", stdin), freopen("ciur.out", "w", stdout);
scanf("%u", &n);
unsigned int v[n / 32 + 1];
for(i = 0; i <= n / 32 + 1; i++) v[i] = 0;
for(i = 2; i <= n; i++)
if(!(v[i / 32] & (1<<(i % 32))))
{
k++;
for(j = 2 * i; j <= n; j += i)
v[j / 32] |= (1<<(j % 32));
}
printf("%u\n", k);
return 0;
}