Cod sursa(job #2659858)
Utilizator | Data | 17 octombrie 2020 17:41:21 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.47 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream in ("ciur.in");
ofstream out ("ciur.out");
int n;
bool a[2000005];
void ciur(int c)
{
for(int i=3;i*i<=c;i+=2)
{
if(a[i]==false){
for(int j=i*i;j<=c;j+=2*i)
a[j]=true;
}
}
int k=1;
for(int i=3;i<=c;i+=2)
if(a[i]==false)
k++;
out<<k<<'\n';
}
int main()
{
in>>n;
ciur(n);
return 0;
}