Pagini recente » Cod sursa (job #1051724) | Cod sursa (job #921540) | Cod sursa (job #2433354) | Cod sursa (job #2780924)
#include <stdio.h>
#include <bitset>
using namespace std;
bitset<2000000> ciur;
int main()
{
FILE *fin, *fout;
int n, i, d, cnt;
fin = fopen( "ciur.in", "r" );
fout = fopen( "ciur.out", "w" );
fscanf( fin, "%d", &n );
ciur[0] = ciur[1] = 1;
for ( i = 2; i * i <= n; i++ ) {
if ( ciur[i] == 0 ) {
for ( d = i * i; d <= n; d += i )
ciur[d] = 1;
}
}
cnt = 0;
for ( i = 2; i <= n; i++ ) {
if ( ciur[i] == 0 )
cnt++;
}
fprintf( fout, "%d", cnt );
fclose( fin );
fclose( fout );
return 0;
}