Cod sursa(job #1572443)

Utilizator penetavyPene Cosmin-Octavian penetavy Data 18 ianuarie 2016 22:10:01
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <stdio.h>

using namespace std;

char ciur[2000001];

int main()
{
    FILE *fin = fopen("ciur.in", "r");
    FILE *fout = fopen("ciur.out", "w");
    int n, d, i, cont = 0;
    fscanf(fin, "%d", &n );
    for ( d = 2; d * d <= n; d++ )
        if ( ciur[d] == 0 ){ // daca d este prim
            for ( i = d * d; i <= n; i = i + d ) // vom marca numerele din d in d
                ciur[i] = 1;
        }
    for(i = 2; i <= n; i++)
        if(ciur[i] == 0)
            cont++;
    fprintf(fout, "%d", cont);
    return 0;
}