Cod sursa(job #2376124)

Utilizator RedXtreme45Catalin RedXtreme45 Data 8 martie 2019 13:44:09
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
#include <cmath>

using namespace std;

bool v[2000002];
int main()
{
    ifstream fin("ciur.in");
    ofstream fout("ciur.out");
    int n,i,j;
    fin>>n;
    int x=sqrt(n);
    v[0]=v[1]=1;
    int nr=0;
    int y=n/2;
    for (i=2;i<=x;i++)
    {
        j=2;
        if (v[i]==0)
        {
            nr++;
        while(i*j<=n)
        {
            v[i*j]=1;
            j++;
        }
        }
    }
    for (i=x+1;i<=n;i++)
    {
        if (v[i]==0)
            nr++;
    }
    fout<<nr;
    return 0;
}