Cod sursa(job #1234577)
Utilizator | Data | 27 septembrie 2014 16:27:41 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
#include<fstream>
#include<iostream>
using namespace std;
ifstream f("ciur.in");
ofstream g("ciur.out");
int N,nr=1,i,j;
bool v[1000001];
int main()
{
f>>N;
for (i=1;(i<<1)+1<=N;++i)
{
if (!v[i])
{
++nr;
for(j=(i*i<<1)+(i<<1);(j<<1)+1<=N;j+=(i<<1)+1)
v[j]=true;
}
}
g<<nr<<'\n';
f.close();g.close();
return 0;
}