Cod sursa(job #3160415)

Utilizator davidpalagniucDavid 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;
}