Cod sursa(job #2229289)

Utilizator RubinuNume Complet Rubinu Data 6 august 2018 14:55:57
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include <fstream>
#include <cmath>
using namespace std;
ifstream cin ("ciur.in");
ofstream cout ("ciur.out");
bool f[2000005];

int main ()
{
    int n;
    cin>>n;
    int nr=n-1,i,j,s=sqrt(n);
    for (i=4;i<=n;i+=2)
        f[i]=true,--nr;
    for (i=3;i<=s;i+=2)
        if (!(f[i]))
            for (j=i*3;j<=n;j+=2*i)
                if (!f[j])
                    f[j]=true,--nr;
    cout<<nr;
    return 0;
}