Cod sursa(job #2000472)
Utilizator | Data | 13 iulie 2017 19:07:08 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include <stdio.h>
#include <stdlib.h>
#define File_in "ciur.in"
#define File_out "ciur.out"
#define Max 2000000
int n;
char A[Max];
int main()
{
freopen(File_in, "r", stdin);
freopen(File_out, "w", stdout);
int i, j, nr = 0;
scanf("%d",&n);
for ( i = 2; i*i <= n; i++){
if( A[i] == 0)
for(j= i*i; j<= n; j +=i)
A[j] = 2;
}
for( i = 2; i<= n; i++)
if(A[i]==0)
nr++;
printf("%d",nr);
return 0;
}