1. 程式人生 > >[LeetCode]319. Bulb Switcher燈泡開關

[LeetCode]319. Bulb Switcher燈泡開關

class leet math int nbsp 一個 math.sqrt 因子 mat

智商壓制的一道題

這個題有個數學定理:

一般數(非完全平方數)的因子有偶數個

完全平凡數的因子有奇數個

開開關的時候,第i個燈每到它的因子一輪的時候就會撥動一下,也就是每個燈撥動的次數是它的因子數

而撥動偶數次是關,撥動奇數次是開

現在就是求哪些數的因子有奇數個,也就是求n以內的完全平凡數

這裏又有一個定理:

n以內的完全平方數個數是sprt(n)

所以代碼很簡單

public int bulbSwitch(int n) {
        return (int)Math.sqrt(n);
    }

[LeetCode]319. Bulb Switcher燈泡開關