二、一维数组应用技巧2:打标记
实战训练1—开关灯
问题描述:
有 M个从1到M依次编号的人参加一项游戏。将K 盏从1到K依次编号的灯(K和M均为正整数,M≤K≤5000)进行一系列的熄灭与打开的操作,游戏开始时均处于亮灯的状态;第一个人(1号)将灯全部熄灭;第二个人(2号)将编号为2的倍数的灯做相反处理(即将打开的灯熄灭,将熄灭的灯打开);第三个人( 3号)将编号为3的倍数的灯做相反处理;依照编号递增顺序,以后的人都和3号一样,将凡是自己编号倍数的灯做相反处理。请问:当第M个人操作之后,哪几盏灯是关闭的,按从小到大输出其编号,其间用逗号间隔。
输入格式:
输入共一行,包含两个正整数K和M,以单个空格隔开。
输出格式:
输出共一行,顺次输出关闭的灯的编号,其间用逗号间隔。
输入输出样例:
| 输入样例1 |
输出样例1 |
| 10 10 |
1,4,9 |
| 输入样例2 |
输出样例2 |
| 20 30 |

最低0.47元/天 解锁文章
883

被折叠的 条评论
为什么被折叠?



