Cod sursa(job #868682)

Utilizator anaid96Nasue Diana anaid96 Data 31 ianuarie 2013 14:23:36
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <stdio.h>
FILE *in,*out;
int N, cnt;
char prim[2000005];

int main(void)
{
    in=fopen("ciur.in", "rt");
    out=fopen("ciur.out", "wt");
    fscanf(in,"%d", &N);
    for (int i = 2; i <= N; ++i)
        prim[i] = 1;
    for (int i = 2; i <= N; ++i)
        if (prim[i])
        {
            ++cnt;
            for (int j = i+i; j <= N; j += i)
                prim[j] = 0;
        }
    for(int i=1;i<=N;++i)
        if(prim[i])
            printf("%d ",i);
    fprintf(out,"%d\n", cnt);
    fclose(in);
    fclose(out);
    return 0;
}