經典演算法 開燈問題,貌似沒啥新解法了

2021-09-19 11:29:44 字數 861 閱讀 8397

有n盞燈,編號為1~n,第乙個人把所有燈開啟,第二個人按下所有編號為2的倍數開關(這些燈將被關掉),第三個人按下所有編號為3的倍數的開關(其中關掉的燈將被開啟,開著的燈將被關閉),一次類推,一共有k個人,問最後哪些燈開著?

輸入: 7 3 

輸出 :  1 5 6 7

思路也是挺簡單的,用乙個布林陣列去儲存燈的開關狀態,為true時是開著的,false為關閉著的,然後做一次遍歷即可,詳情看**

有n盞燈,編號為1~n,第乙個人把所有燈開啟,第二個人按下所有編號為2的倍數開關(這些燈將被關掉),第三個人按下所有編號為3的倍數的開關(其中關掉的燈將被開啟,開著的燈將被關閉),一次類推,一共有k個人,問最後哪些燈開著?

輸入: 7 3 

輸出 :  1 5 6 7

思路也是挺簡單的,用乙個布林陣列去儲存燈的開關狀態,為true時是開著的,false為關閉著的,然後做一次遍歷即可,詳情看**

演算法入門經典 開燈問題

演算法入門經典 開燈問題 前言 一直很羨慕那些善於寫演算法的同學,感覺他們真的很聰明,不想我這麼笨,一思考演算法就頭疼。罷了,從最簡單的開始吧,加油。問題 有n盞燈,編號為1 n,第1個人把所有燈開啟,第2個人按下所有編號為2的倍數的開關 這些燈將被關掉 第3個人按下所有編號為3的倍數的開關 其中關...

開燈演算法問題

大廳裡有100盞燈,每盞燈都編了號碼,分別為1 100。每盞燈由乙個開關來控制。開關按一下,燈亮,再按一下燈滅。開關的編號與被控制的燈相同。開始時,燈是全滅的。現在按照以下規則按動開關。第一次,將所有的燈點亮。第二次,將所有2的倍數的開關按一下。第三次,將所有3的倍數的開關按一下。以此類推。第n次,...

演算法競賽 開燈問題 C

有n盞燈,編號為1 n。第1個人把所有燈開啟,第2個人按下所有編號為2的倍數的開關 這些燈將被關掉 第2個人按下所有的編號為3的倍數的開關 其中關掉的燈將被開啟,開著的燈將被關閉 以此類推。一共有k個人,問最後有哪些燈開著?輸入n和k,輸出開著的燈編號。k n 1000。樣例輸入 7 3 樣例輸出 ...