2018-06-17 11:54:51
開關電燈問題是乙個比較經典的趣味數學題,本文中主要介紹其中的一些常見情況。
一、bulb switch
問題描述:
問題求解:
初始狀態:off, off, off,... ,off.
step 1:on, on, on, ... ,on
step 2:on, off, on, ...
對於第 i 盞燈,其在step k 被switch前提是i % k == 0。因此,對於第 i 盞燈其在最後保持on的前提是其因子個數為奇數個,換言之,i 只有是完全平方數才能滿足條件。所以本題就轉換成了求完全平方數個數的問題。
public class bulbswitch二、bulb switcher ii問題描述:}
問題求解:
首先研究一下其中的操作,可以發現1 + 3 - > 2,1 + 2 - > 3, 2 + 3 - > 1。因此實際上至多只會產生如下8種可能:
all_on
,1
,2
,3
,4
,1+4
,2+4
,3+4
用二進位制表示就是000~111的八種表示。
要得到這八種結果需要至少三次操作,因此m >= 3,另外當n < 3 的時候顯然是無法得到8中結果的,因此對於m < 3 && n < 3 的情況做一下討論即可。
class solution}
開關燈問題
描述 一條長廊裡依次裝有n 1 n 65535 盞電燈,從頭到尾編號1 2 3 n 1 n。每盞電燈由乙個拉線開關控制。開始,電燈全部關著。有n個學生從長廊穿過。第乙個學生把號碼凡是1的倍數的電燈的開關拉一下 接著第二個學生把號碼凡是2的倍數的電燈的開關拉一下 接著第三個學生把號碼凡是3的倍數的電燈...
開關燈問題
題目描述 有若干隻燈排成一排。所有的燈開始的時候都是關閉的,現對這些燈進行一系列的操作。在第 i次操作的時候,調整所有編號是 i的倍數的燈的狀態 原本開啟的燈將它關閉,原本關閉的將它開啟 輸入 每組測試資料佔一行,包含乙個整數 n 0 n 10 5 輸出 經過無限次操作之後,第 n隻燈的狀態 0表示...
OJ開關燈問題
將n個燈泡編成n號,即1,2,3,n。現有n個人去拉開關,第乙個人把1的倍數的燈號開關都拉一下,第二個人把2的倍數的燈號都拉一下,第三個人把3的倍數的燈號都拉一下,直到第n個人將第n號燈泡拉一下。假定開始時,燈泡全不亮,請問 這n個人全拉完後,有多少個燈泡是亮的?輸入乙個整數n 1 n 100000...