Cod sursa(job #3257857)
| Utilizator | Data | 19 noiembrie 2024 18:29:33 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.52 kb |
#include <stdio.h>
char ciur[2000001];
int main(){
int n, s;
FILE *fin, *fout;
fin = fopen( "ciur.in", "r" );
fscanf( fin, "%d", &n );
fclose( fin );
s = 0;
for ( int i = 2; i * i <= n; i++ ) {
if ( ciur[i] == 0 )
for ( int d = i * i; d <= n; d = d + i )
ciur[d] = 1;
}
for ( int i = 2; i <= n; i++ )
if ( ciur[i] == 0 )
s++;
fout = fopen( "ciur.out", "w" );
fprintf( fout, "%d", s );
fclose( fout );
return 0;
}
