Cod sursa(job #1728552)
Utilizator | Data | 13 iulie 2016 10:25:02 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include <cstdio>
using namespace std;
char ciur[2000000];
int main()
{
FILE *f=fopen("ciur.in","r");
int n,nc,i,np=0;
fscanf(f,"%d",&n);
fclose(f);
ciur[1]=1;
nc=2;
while(1)
{
while(ciur[nc]&&nc<=n)nc++;
if(nc>n)break;
i=2;
while(i*nc<=n)ciur[(i++)*nc]=1;
np++;
nc++;
}
f=fopen("ciur.out","w");
fprintf(f,"%d",np);
return 0;
}