#include <stdio.h>
int main() {
int a = 0;
while(~scanf("%d", &a))
{
int i = 0;
int arr[100]={0};
int count = 0;
for(i=2; i<=a; i++)
{
arr[i-2]=i;//存储
}
for(i=0; i<=a-2; i++)
{
int j = 0;
for(j=1; j<=a-2-i; j++)
{
if(arr[i+j]%(i+2)==0 && arr[i+j]!=0)//控制数组中该元素之后的数能被该数整除,能够被整除的数清0后,不能影响到其他数的判断
{
arr[i+j]=0;
count++;
}
}
}
for(i=0; i<a-1; i++)
{
if(arr[i]!=0)//将没被清零的数输出来
printf("%d ",arr[i]);
}
printf("\n%d\n",count);
}
return 0;
}

京公网安备 11010502036488号