Cod sursa(job #2218762)
| Utilizator | Data | 5 iulie 2018 17:17:03 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include <iostream>
#include <stdio.h>
#define NMAX 2000001
using namespace std;
char c [ NMAX + 1 ] ;
int main() {
FILE *fin, *fout ;
fin = fopen ("ciur.in", "r" ) ;
fout = fopen ("ciur.out", "w" ) ;
int n, count, d, i ;
count = 0 ;
fscanf (fin, "%d", &n ) ;
for (d = 2 ; d * d <= n ; d++ ) {
if (c[d] == 0 )
for (i = 2 * d ; i <= n ; i+=d )
c[i] = 1 ;
}
count = 0 ;
for (i = 2 ; i <= n ; i++ )
if (c[i] == 0 )
count++;
fprintf (fout, "%d", count ) ;
return 0;
}
