開燈演算法問題

2022-06-09 19:54:11 字數 1204 閱讀 2771

<?php
/**

* 大廳裡有100盞燈,每盞燈都編了號碼,分別為1-100。每盞燈由乙個開關來控制。(開關按一下,燈亮,再按一下燈滅。開關的編號與被控制的燈相同。)開始時,燈是全滅的。現在按照以下規則按動開關。

*  第一次,將所有的燈點亮。

*  第二次,將所有2的倍數的開關按一下。

*  第三次,將所有3的倍數的開關按一下。

*  以此類推。第n次,將所有n的倍數的開關按一下。

*  問第100次按完以後,大廳裡還有幾盞燈是亮的。

*/

functionhandle($m,$n)

//第二步:開關n趟,每趟檢測倍數

for($i=2;$i<$n+1;$i++)

}

}

return$arr;

}

$res= handle(10, 10);

echo"";

print_r($res);

演算法入門經典 開燈問題

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

演算法競賽 開燈問題 C

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

77 開燈問題

時間限制 3000 ms 記憶體限制 65535 kb 難度 1 描述 有n盞燈,編號為1 n,第1個人把所有燈開啟,第2個人按下所有編號為2 的倍數的開關 這些燈將被關掉 第3 個人按下所有編號為3的倍數的開關 其中關掉的燈將被開啟,開著的燈將被關閉 依此類推。一共有k個人,問最後有哪些燈開著?輸...