Cod sursa(job #2229289)
Utilizator | 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;
}