初始時有 n 個燈泡關閉。 第 1 輪,你開啟所有的燈泡。 第 2 輪,每兩個燈泡你關閉一次。 第 3 輪,每三個燈泡切換一次開關(如果關閉則開啟,如果開啟則關閉)。第 i 輪,每 i 個燈泡切換一次開關。 對於第 n 輪,你只切換最後乙個燈泡的開關。 找出 n 輪後有多少個亮著的燈泡。
示例:輸入: 3
輸出: 1
解釋:初始時, 燈泡狀態 [關閉, 關閉, 關閉].
第一輪後, 燈泡狀態 [開啟, 開啟, 開啟].
第二輪後, 燈泡狀態 [開啟, 關閉, 開啟].
第三輪後, 燈泡狀態 [開啟, 關閉, 關閉].
你應該返回 1,因為只有乙個燈泡還亮著。
模擬過程超時
第i
個位置,會在1...i
的每個因數次中被翻轉(大於i
被直接跳過)
其中除非完全平方數,否則每個因數都是成對出現
所以乙個數只有他是完全平方數的時候,才會被翻轉(初始狀態關閉,翻轉後開啟)
求n前的完全平方數數量,n
\sqrt
n
319 燈泡開關
初始時有 n 個燈泡關閉。第 1 輪,你開啟所有的燈泡。第 2 輪,每兩個燈泡你關閉一次。第 3 輪,每三個燈泡切換一次開關 如果關閉則開啟,如果開啟則關閉 第 i 輪,每 i 個燈泡切換一次開關。對於第 n 輪,你只切換最後乙個燈泡的開關。找出 n 輪後有多少個亮著的燈泡。示例 輸入 3輸出 1解...
319 燈泡開關
鏈結 初始時有 n 個燈泡關閉。第 1 輪,你開啟所有的燈泡。第 2 輪,每兩個燈泡你關閉一次。第 3 輪,每三個燈泡切換一次開關 如果關閉則開啟,如果開啟則關閉 第 i 輪,每 i 個燈泡切換一次開關。對於第 n 輪,你只切換最後乙個燈泡的開關。找出 n 輪後有多少個亮著的燈泡。示例1 輸入 3 ...
319 燈泡開關
燈泡開關 初始時有 n 個燈泡關閉。第 1 輪,你開啟所有的燈泡。第 2 輪,每兩個燈泡你關閉一次。第 3 輪,每三個燈泡切換一次開關 如果關閉則開啟,如果開啟則關閉 第 i 輪,每 i 個燈泡切換一次開關。對於第 n 輪,你只切換最後乙個燈泡的開關。找出 n 輪後有多少個亮著的燈泡。輸入 3 輸出...