Cod sursa(job #201246)

Utilizator mihaipoascaPoasca Mihai mihaipoasca Data 29 iulie 2008 22:21:48
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include<stdio.h>
#include<math.h>
#define MAX 2000000
int main(){

    FILE *fin=fopen("ciur.in","r");
    FILE *fout=fopen("ciur.out","w");

    int N;

    unsigned char a[MAX];
    fscanf(fin,"%d",&N);
    for(int i=1;i<=N;i++) a[i]=1;

    int i=2;
    for(int j=2;j*i<=N;j++) a[i*j]=0;

    for(i=3;i<=sqrt(N)+1;i+=2)
    for(int j=i;j*i<=N;j+=2) a[i*j]=0;

    for(i=2;i<=N;i++)
    if(a[i]==1) fprintf(fout,"%d ",i);

    fclose(fin);
    fclose(fout);

    return 0;
    }