Cod sursa(job #2325640)
Utilizator | Data | 22 ianuarie 2019 20:08:35 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.47 kb |
#include <bits/stdc++.h>
char ciur[2000001];
int main()
{
int n,i,d,s=0;
FILE*fi,*fo;
fi=fopen("ciur.in","r");
fo=fopen("ciur.out","w");
fscanf(fi,"%d",&n);
for(i=2; i*i<=n; i++)
{
if(ciur[i]==0)
{
for(d=i*i; d<=n; d+=i)
{
s+=1-ciur[d];
ciur[d]=1;
}
}
}
fprintf(fo,"%d",n-s-1);
fclose(fi);
fclose(fo);
return 0;
}