编程题

开关灯

假设有 N 盏灯(N 为不大于 5000 的正整数), 从 1 到 N 按顺序依次编号, 初始时全部处于开启状态; 有 M 个人(M 为不大于 N 的正整数)也从 1 到 M 依次编号。

第一个人(1 号) 将灯全部关闭, 第二个人(2 号) 将编号为 2 的倍数的灯打开, 第三个人(3 号) 将编号为 3 的倍数的灯做相反处理( 即, 将打开的灯关闭, 将关闭的灯打开) 。 

依照编号递增顺序, 以后的人都和 3 号一样, 将凡是自 己编号倍数的灯做相反处理。

请问: 当第 M 个人操作之后, 哪几盏灯是关闭的, 按从小到大输出其编号, 其间用逗号间隔。

时间限制: 1 000

内存限制: 65536

输入

输入正整数 N 和 M, 以单个空格隔开。

输出

顺次输出关闭的灯的编号, 其间用逗号间隔。

样例输入

10 10

样例输出

1, 4, 9

查看答案
赣ICP备20007335号-2