Cod sursa(job #149025)
| Utilizator | Data | 5 martie 2008 11:17:19 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.45 kb |
#include <fstream.h>
long long n,i,j,m,w;
int prim[2000030];
int main()
{
ifstream f("ciur.in");
ofstream g("ciur.out");
f>>n;
for (i=2;i<=n;i++)
prim[i]=1;
for (i=2;i<=n;i++)
if (prim[i]==1)
{
m++;
for (j=2*i;j<=n;j=j+i)
prim[j]=0;
}
g<<m<<'\n';
if (n>1002)
{for (i=n-1001;i<=n;i++)
if (prim[i]==1)
g<<i<<" ";}
else {for (i=2;i<=n;i++)
if (prim[i]==1) g<<i<<" ";}
f.close();
g.close();
return 0;
}
