319 Bulb Switcher 燈泡開關
阿新 • • 發佈:2018-04-14
rip .cn problems highlight leetcode 一次 esc tps ++
初始時有 n 個燈泡關閉。 第 1 輪,你打開所有的燈泡。 第 2 輪,每兩個燈泡切換一次開關。 第 3 輪,每三個燈泡切換一次開關(如果關閉,則打開,如果打開則關閉)。對於第 i 輪,你每 i 個燈泡切換一次開關。 對於第 n 輪,你只切換最後一個燈泡的開關。 找出 n 輪後有多少個亮著的燈泡。
示例:
給定 n = 3。狀態off表示燈泡關閉,on表示開啟。
初始時, 燈泡狀態 [off, off, off].
第一輪後, 燈泡狀態 [on, on, on].
第二輪後, 燈泡狀態 [on, off, on].
第三輪後, 燈泡狀態 [on, off, off].
你應該返回1,因為只有一個燈泡還亮著。
詳見:https://leetcode.com/problems/bulb-switcher/description/
C++:
class Solution { public: int bulbSwitch(int n) { int res=1; while(res*res<=n) { ++res; } return res-1; } };
參考:http://www.cnblogs.com/grandyang/p/5100098.html
319 Bulb Switcher 燈泡開關