C++编程实现开关灯问题:输出M次操作后关闭的灯编号
题目描述
假设有N盏灯(N为不大于100的正整数),从1到N按顺序依次编号,初始时全部处于开启状态;共进行M(M ≤ N)次开关灯操作:
- 第1次操作:将所有灯全部关闭
- 第2次操作:将编号为2的倍数的灯打开
- 第k次操作(k ≥ 3):将编号为k的倍数的灯做相反处理(开启的灯关闭,关闭的灯开启)
要求计算M次操作后,处于关闭状态的灯的编号,按从小到大的顺序输出,编号之间用#号间隔。
输入描述
定义两个整型变量N(存储灯的数量)、M(存储开关灯操作的次数)。
输出描述
定义字符串变量result,存储最终结果,格式为关闭的灯编号按从小到大排列,编号间用#间隔。
输入输出样例
样例1
输入:N = 10,M = 10
输出:result = "1#4#9"
样例2
输入:N = 10,M = 2
输出:result = "1#3#5#7#9"
注意事项
- 变量名
N、M、result的拼写(包括大小写)需严格与题目要求一致 - 输入变量可直接赋值,无需额外实现标准输入交互逻辑
- 结果需按要求格式存储到
result变量中,无需额外实现标准输出逻辑
本题为编程题,提交代码并运行通过测试点后判分。
正在加载题目数据…
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析