Cod sursa(job #1402037)

Utilizator mihai2003LLL LLL mihai2003 Data 26 martie 2015 11:51:49
Problema Ciurul lui Eratosthenes Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.46 kb
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>

bool v[2000001];

int main()
{
    int n,d,i,cont=1;
    FILE *fin,*fout;
    fin=fopen("ciur.in","r");
    fscanf(fin,"%d",&n);
    fclose(fin);
    for(d=2;d*d<=n;d++){
        if(!v[d]){
            for(i=d*d;i<=n;i+=d)
                v[i]=true;
        }
    }
    fout=fopen("ciur.out","w");
    for(i=3;i<=n;i+=2)
        if(v[i]==false)
            cont++;
    fprintf(fout,"%d",cont);
    return 0;
}