Cod sursa(job #1778749)
Utilizator | Data | 14 octombrie 2016 01:14:51 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.38 kb |
#include<stdio.h>
int N,cont=0;
char v[2000000];
void marcare(int a)
{ int b=2*a;
for(b;b<N;b=b+a){
v[b]=0;
}
}
int main()
{
FILE*fin=fopen("ciur.in","r");
FILE*fout=fopen("ciur.out","w");
fscanf(fin,"%d",&N);
for(int i=2;i<N;i++)
{ v[i]=1;}
for(int i=2;i<N;i++)
{
if(v[i]==1)
{
cont++;
marcare(i);
}
}
fprintf(fout,"%d",cont);
fclose(fin);
fclose(fout);
return 0;
}