319. 灯泡开关

💡灯泡开关问题详解:数学与编程的完美结合


📘 题目描述

你面前有 n 个灯泡,初始时全部处于关闭状态

你将对这些灯泡进行 n 轮操作:

  • 第 1 轮:打开所有灯泡。
  • 第 2 轮:每两个灯泡,切换一次第 2 个、第 4 个、第 6 个……(即编号是 2 的倍数的灯泡)。
  • 第 3 轮:每三个灯泡,切换一次第 3 个、第 6 个、第 9 个……的灯泡。
  • ...
  • 第 i 轮:切换每个编号为 i 的倍数的灯泡的开关。
  • ...
  • 第 n 轮:只切换编号为 n 的灯泡。

问题:在进行完第 n 轮操作之后,返回最终亮着的灯泡数量。


🔍 解题分析

🧠 关键思路:

我们不妨换个角度来思考这个问题:
一个灯泡被切换了多少次,就决定了它最终是开还是关。

  • 灯泡初始是关闭的。
  • 如果被切换奇数次,最终会亮着
  • 如果被切换偶数次
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值