開關燈問題 BulbSwitch

2022-08-11 10:06:11 字數 1086 閱讀 9524

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...