Cod sursa(job #3160415)
Utilizator | David Palagniuc davidpalagniuc | Data | 23 octombrie 2023 22:23:21 |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | c-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.47 kb |
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fin=fopen("ciur.in","r");
FILE *fout=fopen("ciur.out","w");
int n,c=0;
fscanf(fin,"%d",&n);
fclose(fin);
if(n<2||n>2000000) return 1;
short *v=calloc(n+1,sizeof(short));
v[0]=v[1]=1;
for(int i=2;i<=n;i++)
if(v[i]==0)
for(int j=2;j*i<=n;j++)
v[j*i]=1;
for(int i=2;i<=n;i++) if(v[i]==0) c+=1;
fprintf(fout,"%d",c);
fclose(fout);
return 0;
}