將n個燈泡編成n號,即1,2,3,…n。
現有n個人去拉開關,第乙個人把1的倍數的燈號開關都拉一下,第二個人把2的倍數的燈號都拉一下,第三個人把3的倍數的燈號都拉一下,……直到第n個人將第n號燈泡拉一下。假定開始時,燈泡全不亮,請問:這n個人全拉完後,有多少個燈泡是亮的?
輸入乙個整數n(1<n≤1000000000)
這個題如果迴圈用i++來做的話一定超時;注意到,第n個人拉完後,剩下的亮著的燈號一定是乙個平方數,不信的話可以自己舉例子,又注意到,每乙個平方數都可以拆為k個奇數的和,比如4=1+3;9=1+3+5;16=1+3+5+7;25=1+3+5+7+9等等。
**如下(示例):
#include
using namespace std;
int main()
k=k+2;
}cout 描述 一條長廊裡依次裝有n 1 n 65535 盞電燈,從頭到尾編號1 2 3 n 1 n。每盞電燈由乙個拉線開關控制。開始,電燈全部關著。有n個學生從長廊穿過。第乙個學生把號碼凡是1的倍數的電燈的開關拉一下 接著第二個學生把號碼凡是2的倍數的電燈的開關拉一下 接著第三個學生把號碼凡是3的倍數的電燈... 題目描述 有若干隻燈排成一排。所有的燈開始的時候都是關閉的,現對這些燈進行一系列的操作。在第 i次操作的時候,調整所有編號是 i的倍數的燈的狀態 原本開啟的燈將它關閉,原本關閉的將它開啟 輸入 每組測試資料佔一行,包含乙個整數 n 0 n 10 5 輸出 經過無限次操作之後,第 n隻燈的狀態 0表示... 2018 06 17 11 54 51 開關電燈問題是乙個比較經典的趣味數學題,本文中主要介紹其中的一些常見情況。一 bulb switch 問題描述 問題求解 初始狀態 off,off,off,off.step 1 on,on,on,on step 2 on,off,on,對於第 i 盞燈,其在s...開關燈問題
開關燈問題
開關燈問題 BulbSwitch