Cod sursa(job #2176895)

Utilizator Rodik_RodyRodica Vasilescu Rodik_Rody Data 18 martie 2018 11:16:24
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
///Ciurul lui Eratosthenes
///Dandu-se un numar natural N, sa se determine numarul numerelor prime mai mici sau egale cu N.
#include <math.h>
#include <fstream>
#define MAX 2000000
using namespace std;
ifstream in("ciur.in");
ofstream out("ciur.out");
int n;
char ciur[MAX];
void eratosthene(int n)
{
    for ( int i = 2; i*i <= n; i++)
        if( ciur[i] == 0)
            for(int j = i*i; j <= n; j +=i)
                ciur[j] = 1;
}
int main()
{

    int nr = 0;
    in >>n;
    eratosthene(n);
    for(int i = 2; i <= n; i++)
        if(ciur[i] == 0)
            nr++;
    out <<nr;
    return 0;
}