Cod sursa(job #1402037)
| Utilizator | Data | 26 martie 2015 11:51:49 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | c | Status | done |
| Runda | Arhiva educationala | Marime | 0.46 kb |
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
bool v[2000001];
int main()
{
int n,d,i,cont=1;
FILE *fin,*fout;
fin=fopen("ciur.in","r");
fscanf(fin,"%d",&n);
fclose(fin);
for(d=2;d*d<=n;d++){
if(!v[d]){
for(i=d*d;i<=n;i+=d)
v[i]=true;
}
}
fout=fopen("ciur.out","w");
for(i=3;i<=n;i+=2)
if(v[i]==false)
cont++;
fprintf(fout,"%d",cont);
return 0;
}
