Mai intai trebuie sa te autentifici.
Cod sursa(job #147246)
| Utilizator | Data | 2 martie 2008 18:30:54 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.44 kb |
#include<stdio.h>
#include<string.h>
int n,i,l,j,s[1020];
char a[2000010];
int main()
{
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
scanf("%d",&n);
memset(a,0,sizeof(a));
for(i=2;i<=n;++i)
if(a[i]==0)
{++l;
for(j=i*i;j<=n;j+=i) a[j]=1;
}
printf("%d\n",l);
for(i=0,j=n;((i<l)&&(i<1000)&&(j>1));--j) if(a[j]==0)s[++i]=j;
for(;i;--i)printf("%d ",s[i]);
printf("\n");
return 0;
}