mirror of
https://github.com/halfrost/LeetCode-Go.git
synced 2025-07-07 01:44:56 +08:00
Update solution 0319
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
# [319. Bulb Switcher](https://leetcode-cn.com/problems/bulb-switcher/)
|
||||
# [319. Bulb Switcher](https://leetcode.com/problems/bulb-switcher/)
|
||||
|
||||
|
||||
## 题目
|
||||
@ -31,21 +31,22 @@ Return the number of bulbs that are on after n rounds.
|
||||
|
||||
## 题目大意
|
||||
|
||||
初始时有n个灯泡处于关闭状态。第一轮,你将会打开所有灯泡。接下来的第二轮,你将会每两个灯泡关闭一个。
|
||||
初始时有 n 个灯泡处于关闭状态。第一轮,你将会打开所有灯泡。接下来的第二轮,你将会每两个灯泡关闭一个。
|
||||
|
||||
第三轮,你每三个灯泡就切换一个灯泡的开关(即,打开变关闭,关闭变打开)。第i轮,你每i个灯泡就切换一个灯泡的开关。直到第n轮,你只需要切换最后一个灯泡的开关。
|
||||
第三轮,你每三个灯泡就切换一个灯泡的开关(即,打开变关闭,关闭变打开)。第 i 轮,你每 i 个灯泡就切换一个灯泡的开关。直到第 n 轮,你只需要切换最后一个灯泡的开关。
|
||||
|
||||
找出并返回n轮后有多少个亮着的灯泡。
|
||||
找出并返回 n 轮后有多少个亮着的灯泡。
|
||||
|
||||
## 解题思路
|
||||
|
||||
- 计算1到n中有奇数个约数的个数
|
||||
- 1到n中的某个数x有奇数个约数,也即x是完全平方数
|
||||
- 计算1到n中完全平方数的个数sqrt(n)
|
||||
- 计算 1 到 n 中有奇数个约数的个数
|
||||
- 1 到 n 中的某个数 x 有奇数个约数,也即 x 是完全平方数
|
||||
- 计算 1 到 n 中完全平方数的个数 sqrt(n)
|
||||
|
||||
## 代码
|
||||
|
||||
```go
|
||||
|
||||
package leetcode
|
||||
|
||||
import "math"
|
||||
@ -53,4 +54,5 @@ import "math"
|
||||
func bulbSwitch(n int) int {
|
||||
return int(math.Sqrt(float64(n)))
|
||||
}
|
||||
|
||||
```
|
Reference in New Issue
Block a user