Cod sursa(job #2575621)
Utilizator | Popescu Andrei Alexandru PopescuAndreiAlexandru | Data | 6 martie 2020 14:40:52 |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | imded | Marime | 0.65 kb |
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#include <stack>
#include <cstring>
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
const int DIM = 2000002;
int n,ans=0;
bool viz[DIM+5];
int main()
{
fin>>n;
for(int i=2;i*i<=DIM;i++)
{
if(!viz[i])
{
for(int j=i;j<=DIM;j++)
{
if(i*j<=DIM)
viz[i*j]=1;
else
break;
}
}
}
for(int i=2;i<=n;i++)
{
if(!viz[i])
ans++;
}
fout<<ans<<'\n';
}