Cod sursa(job #148208)
Utilizator | Data | 3 martie 2008 23:16:00 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.36 kb |
#include<stdio.h>
char v[2000005];
int main()
{long n,i,j,m=0,w[1024];
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
scanf(" %ld",&n);
for(i=2;i<=n;++i)if(!v[i]){++m;for(j=i+i;j<=n;j+=i)v[j]=1;}
j=0;
printf("%ld\n",m);
for(i=n;m&&j<=1000;--i)if(!v[i]){w[++j]=i;--m;}
for(;j>=1;--j)printf("%ld ",w[j]);
printf("\n");
return 0;
}