Cod sursa(job #223042)
Utilizator | Data | 26 noiembrie 2008 19:17:51 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.34 kb |
#include<fstream.h>
int n,i,j,nr=1;
char v[1000002];
int main()
{
ifstream f ("ciur.in");
f>>n;
f.close();
i=1;
while ((i*i*2+i*2)<= n)
{
if ( v[i]==0 )
{
for ( j=i*i*2+2*i ; 2*j+1<=n ; j+=2*i+1 )
v[j]=1;
}
i++;
}
for (i=1;2*i+1<=n;i++)
if (!v[i]) nr++;
ofstream g("ciur.out");
g<<nr;
g.close();
return 0;
}