Cod sursa(job #149040)
| Utilizator | Data | 5 martie 2008 11:25:57 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.47 kb |
#include <fstream.h>
long long n,i,j,m,w=1;
char 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)
{while (w<=1000)
i=n;
if (prim[i]==1)
g<<i<<" ";
i--;w++;}
else {for (i=2;i<=n;i++)
if (prim[i]==1) g<<i<<" ";}
f.close();
g.close();
return 0;
}
