Cod sursa(job #1184601)
Utilizator | Data | 13 mai 2014 14:07:06 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.54 kb |
#include <stdio.h>
#define MAXN 2000000
char ciur[MAXN+1];
int main(){
int n, s, i, j;
FILE *fin, *fout;
fin=fopen("ciur.in", "r");
fout=fopen("ciur.out", "w");
fscanf(fin, "%d", &n);
s=0;
ciur[0]=1;
ciur[1]=1;
for(i=2; i*i<=n; i++){
if(ciur[i]==0){
for(j=i*i; j<=n; j+=i){
ciur[j]=1;
}
}
}
for(i=0; i<=n; i++){
s+=(!ciur[i]);
}
fprintf(fout, "%d\n", s);
fclose(fin);
fclose(fout);
return 0;
}