题目链接
英文链接:https://leetcode.com/problems/bulb-switcher/
中文链接:https://leetcode-cn.com/problems/bulb-switcher/
题目详述
初始时有 n 个灯泡关闭。 第 1 轮,你打开所有的灯泡。 第 2 轮,每两个灯泡你关闭一次。 第 3 轮,每三个灯泡切换一次开关(如果关闭则开启,如果开启则关闭)。第 i 轮,每 i 个灯泡切换一次开关。 对于第 n 轮,你只切换最后一个灯泡的开关。 找出 n 轮后有多少个亮着的灯泡。
示例:
1 | 输入: 3 |
题目详解
- 每个灯泡开关切换的次数等于它的编号的约数的个数。
- 开始灯泡是关闭的,最后灯泡是亮的,说明这些灯泡的编号有奇数个约数。
- 一个数有奇数个约数,等价于它是完全平方数。
- 问题就变成了求 n 以内的完全平方数有多少个,结果就是 n 的平方根。
1 | public class LeetCode_00319 { |