在日常生活中,我们常常会遇到一些有趣的逻辑问题,比如“开关灯”。今天就来聊聊这个经典的小问题!想象一下,有 N盏灯 排成一排,从左到右依次编号为 1 到 N。初始时,所有灯都是关闭状态(灭)。现在有 M个人 走过这一排灯,每个人都会按下某些灯的开关。第 i 个人会按下从 1 到 N 中所有能被 i 整除的灯的开关。如果灯是亮着的,它会被关掉;如果是关着的,则会被点亮。
✨ 如何用代码解决?
这是一个典型的循环控制问题。通过嵌套循环,我们可以模拟每个人的操作过程。外层循环遍历每个人,内层循环则负责处理每盏灯的状态更新。最后,统计最终亮着的灯的数量即可。
📚 举个例子:
假设 N = 6,M = 4。
- 第1个人按所有灯 → 所有灯亮起。
- 第2个人按偶数灯(2, 4, 6)→ 偶数灯熄灭。
- 第3个人按3和6 → 3号灯熄灭,6号灯亮起。
- 第4个人按4号灯 → 4号灯熄灭。
最终结果是 1号灯和3号灯亮着!
🌟 这道题不仅锻炼了编程能力,还让我们学会观察规律。无论是学习还是生活,找到背后的逻辑才是关键!
免责声明:本文由用户上传,如有侵权请联系删除!