Pagini recente » Cod sursa (job #840079) | Cod sursa (job #2048251) | Cod sursa (job #2300617) | Cod sursa (job #2092569) | Cod sursa (job #2433559)
#include <stdio.h>
#define SIZE 125001
char ciur[SIZE];
int main()
{
FILE *fin, *fout;
fin = fopen( "ciur.in", "r" );
fout = fopen( "ciur.out", "w" );
int n, i, j, cnt = 1;
fscanf( fin, "%d", &n );
for ( i = 1; ( ( i * i ) << 1 ) + ( i << 1 ) <= n; i++ ){
if ( ( ciur[i >> 3] & ( 1 << ( i & 7 ) ) ) == 0 ){
for (j = ( ( i * i ) << 1 ) + ( i << 1 ); ( j << 1 ) + 1 <= n; j+= (i << 1) + 1 ){
ciur[j >> 3] |= ( 1 << ( j & 7 ) );
}
}
}
for ( i = 1; ( i << 1 ) + 1 <= n; i++ ){
if ( ( ciur[i >> 3] & ( 1 << (i & 7 ) ) ) == 0 ){
cnt++;
}
}
fprintf( fout, "%d", cnt );
return 0;
}