Cod sursa(job #1653790)

Utilizator llalexandruLungu Alexandru Ioan llalexandru Data 16 martie 2016 16:20:53
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>

using namespace std;

ifstream fin("ciur.in");
ofstream fout("ciur.out");

int n, nr;
bool Valid[2000000];

bool Prim(int x)
{
    int i;
    for (i=3; i*i<=x; i+=2)
    {
        if (x%i==0)
            return 0;
    }
    return 1;
}

int main()
{
    int i, j;
    fin>>n;
    for (i=2; i<=n; i++)
    {
        if (Valid[i]==1) continue;
        if (Prim(i))
        {
            nr++;
            for (j=i; j<=n; j+=i)
                Valid[j]=1;
        }
    }
    fout<<nr;
    return 0;
}