题目描述
有M盏灯,编号为1~M,分别由相应的M个开关控制。开始时全部开关朝上(朝上为开,灯亮),然后进行以下操作:编号凡是1的倍数的灯反方向拨一次开关;是2的倍数的灯再反方向拨一次开关;是3的倍数的灯又反方向拨一次开关,......,直到是M的倍数的灯又反方向拨一次开关。请从键盘输入一个整数m代表灯的数量,求出最后为熄灭状态的灯(不亮)的数量以及编号并输出。
输入要求
输入一个整数m(1≤m≤100)。
输出要求
输出为两行,第一行是熄灭状态的灯的数量;第二行是最后为熄灭状态的灯的编号(每个数据以4列的域宽显示)。
输入样例
100
输出样例
10
1 4 9 16 25 36 49 64 81 100
提示
输出控制为%4d
参考程序
#include<stdio.h>
int main()
{
int j=0,i=1,n;
scanf("%d",&n);
while (i*i<=n)
{
j++;
i++;
}
printf("%d\n",j);
for (i=1;i<=j;i++)
{
printf("%4d",i*i);
}
printf("\n");
}