Cod sursa(job #2120116)
Utilizator | Data | 1 februarie 2018 22:03:41 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 80 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.47 kb |
#include <fstream>
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
bool v[2000001];
int ct=1;
int ciur(int n)
{
int i;
for(i=3;i*i<n;i+=2)
{
if(v[i]==false)
{
ct++;
for(int d=i*i;d<n;d+=i)
v[d]=true;
}
}
for(i;i<n;i+=2)
if(v[i]==false)
ct++;
return ct;
}
int main()
{
int n,x=1;
fin >> n;
fout <<ciur(n+1);
}