题目描述
风之巅小学有48间教室,每间教室有2扇门,用1~96分别编号。有一天,狐狸老师把所有的门都打开了,第二个到校的格莱尔把所有编号是2的倍数的房门做相反的处理(原来开着的关上,关着的打开),第三个到校的同学把所有编号为3的倍数的房门做相反的处理……第42个到校的尼克把所有编号为42倍数的房门做相反的处理。问最后共有几扇门是开着的,分别是哪几扇?
如果你能够回答上面的问题,那么你应该也可以编程搞定。
现在我们输入教室的数量n(小于等于1000),和到校的学生数量m(小于教室的数量),请你编写程序输出最后共有几扇门是开着的,分别是哪几扇?
比如我们输入4 3,表示有4间教室,3个人会到校(第一个人是狐狸老师)。
那么此时一共有8个门,第一个到校的狐狸老师把门都打开了,第二个到校的同学关闭了2、4、6、8号门,第三到校的同学把编号为3的倍数的门做了相反处理,最终开着的门有4个,分别为1、5、6、7
也即此时电脑会输出
4
1 5 6 7
输入
两个整数,分别表示教室的数量n和到校的人数m
输出
两行
第一行为开着的门的数量
第二行为开着的门的编号,以一个空格隔开