Cod sursa(job #151796)
| Utilizator | Data | 8 martie 2008 17:19:29 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.47 kb |
#include<fstream>
using namespace std;
#define FOR(a,b,c) for(a=b;a<c;a++)
int main()
{
ifstream cin("ciur.in");
ofstream cout("ciur.out");
int n,v[30001],i,j,c1=0,sol[1001];
cin>>n;
FOR(i,0,30000)
v[i]=i+2;
FOR(i,0,30001)
if(v[i]!=0) FOR(j,i+1,30001)
if(v[j]%v[i]==0) v[j]=0;
i=30000;
while(c1!=1001&&i!=-1)
{
if(v[i]!=0&&v[i]<n){sol[c1]=v[i];c1++;}
i--;
}
cout<<c1<<endl;
for(i=c1-1;i>=0;i--)
cout<<sol[i]<<" ";
return 0;
}
