Pagini recente » Cod sursa (job #1674996) | Cod sursa (job #2931954) | Cod sursa (job #1843433) | Cod sursa (job #1037473) | Cod sursa (job #145146)
Cod sursa(job #145146)
#include<stdio.h>
char nr[2001000];
int main(){
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
int n,i,j,sum;
scanf("%d",&n);
for(i=4;i<=n;i+=2)
nr[i]=1;
for(i=3;i<=n;i+=2){
if(nr[i]==0){
for(j=i*i;j<=n;j+=i)
nr[j]=1;
}
}
sum=1;
for(i=3;i<=n;i+=2){
if(nr[i]==0)
++sum;
}
printf("%d\n",sum);
if(sum<=1000){
printf("2");
for(i=3;i<=n;i+=2)
if(nr[i]==0)
printf(" %d",i);
printf("\n");
}
else{
j=0;
for(i=n;j<1000;--i){
if(nr[i]==0)
++j;
}
++i;
printf("%d",i);
for(;i<=n;i+=2)
if(nr[i]==0)
printf(" %d",i);
printf("\n");
}
fclose(stdin);
fclose(stdout);
return 0;
}