💡 NOI 1.5编程基础之循环控制:开关灯问题
在日常生活中,我们常常会遇到一些有趣的逻辑问题,比如“开关灯”。今天就来聊聊这个经典的小问题!想象一下,有 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号灯亮着!
🌟 这道题不仅锻炼了编程能力,还让我们学会观察规律。无论是学习还是生活,找到背后的逻辑才是关键!
免责声明:本答案或内容为用户上传,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 如遇侵权请及时联系本站删除。