Cod sursa(job #2220309)
Utilizator | Data | 11 iulie 2018 12:27:29 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.43 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("ciur.in");
ofstream g("ciur.out");
const int N=2000001;
char ciur[N];
int n;
void ciuruire()
{
for(int p=2;p*p<=n;p++)
if(ciur[p]==0)
for(int i=p*p;i<=n;i+=p)
ciur[i]=1;
}
int main()
{
f>>n;
int cnt=0;
ciuruire();
for(int i=2;i<=n;i++)
if(ciur[i]==0)
cnt++;
g<<cnt;
return 0;
}