Cod sursa(job #1439839)

Utilizator UrsuDanUrsu Dan UrsuDan Data 23 mai 2015 10:27:01
Problema Ciurul lui Eratosthenes Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.56 kb
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>

bool c[2000001];

int main()
{
    int i,j,nr=0,n;
    FILE *in,*out;
    in=fopen("ciur.in","r");
    out=fopen("ciur.out","w");
    fscanf(in,"%d",&n);
    for(i=2;i*i<=n;i++)
    {
        if(!c[i])
        {
            for(j=i*i;j<=n;j=j+i)
            {
                c[j]=true;
            }
        }
    }
    for(i=2;i<=n;i++)
    {
        if(!c[i])
        {
            nr++;
        }
    }
    fprintf(out,"%d",nr);
    fclose(in);
    fclose(out);
    return 0;
}