Cod sursa(job #944191)

Utilizator andrei.diaconuDiaconu Andrei andrei.diaconu Data 27 aprilie 2013 17:27:55
Problema Ciurul lui Eratosthenes Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.48 kb
#include <stdio.h>
#include <stdlib.h>
#define N 2000001

char ciur[N];

int vciur(int n)
{
    int i, j, nr=0;
    for(i=2;i*i<=n;i++)
        if(ciur[i]==0)
            for(j=i*i;j<=n;j+=i)
                ciur[j]=1;
    for(i=2;i<=n;i++)
        if(ciur[i]==0)
            nr++;
    return nr;
}



int main()
{
    int n;
    FILE *fi=fopen("ciur.in", "r"), *fo=fopen("ciur.out", "w");
    fscanf(fi, "%d", &n);
    fprintf(fo, "%d", vciur(n));
    return 0;
}