Cod sursa(job #206166)
Utilizator | Data | 4 septembrie 2008 23:25:33 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
using namespace std;
#include<fstream>
int main ()
{
int N, i, j, phi[1500], nr;
ifstream in("ciur.in");
ofstream out("ciur.out");
in>>N;
nr=N-1;
for(i=2;i<=N && i<=1500;++i)
phi[i]=0;
for(i=2;i*i<=N;++i)
{
if(!phi[i])
{
for(j=i*i;j<=N;j+=i)
{
if(!phi[j])
nr-=1;
if(j<1500)
phi[j]=1;
}
}
}
out<<nr;
in.close();
out.close();
return 0;
}