time limit: 20 second
memory limit: 20 mb
問題描述有n盞燈放在一排,從1到n依次編號,有n個人也從1到n依次編號,第乙個人將燈全部開啟,第二個人將凡是2的倍數的燈全部關閉,第三個人將凡是3的倍數的燈作相反處理,第4、5、……、n個人都把自己編號的倍數的燈作相反處理。問第n個人走過後,哪些燈是開著的?(要求不用陣列)
輸入僅一行
輸入燈的盞數n(1≤n≤32767)。
輸出開著的燈的序號。
20
1:open【題解】4:open
9:open
16:open
這題和之前的撲克問題是一樣的。每個燈先都被開啟。這對應每個數都是1的倍數。
倍數!36 : 1 36 2 18 3 12 4 9 6 這裡可以看到36的因子總數為奇數。只會被操作奇數次,因子最後36號燈會被開啟。以此類推可以得出只要燈的序號是完全平方數 它最後就一定是開啟著的。
一直i*i 然後i++,判斷一下i^2有沒有超過n就好。
【**】
#include const int maxn = 30000;
int n;
void input_data()
void get_ans()
}int main()
2032 燈的開關問題
time limit 20 second memory limit 20 mb 問題描述有n盞燈放在一排,從1到n依次編號,有n個人也從1到n依次編號,第乙個人將燈全部開啟,第二個人將凡是2的倍數的燈全部關閉,第三個人將凡是3的倍數的燈作相反處理,第4 5 n個人都把自己編號的倍數的燈作相反處理。問...
6 燈和開關的問題
題目 有兩個房間,一間房裡有三盞燈,另一間房有控制著三盞燈的三個開關,這兩個房間是分割開的,從一間裡不能看到另一間的情況。現在要求受訓者分別進這兩房間一次,然後判斷出這三盞燈分別是由哪個開關控制的。有什麼辦法呢?分析 今天狀態不是很好,做一道有點意思的題,輕鬆一下。對於這道題,如果我們按照常規的解題...
100盞燈開關的問題
今天朋友發了乙個小學五年級的題目,如下 這小學五年級的題目也太難了吧0.0 用js的思路來完成這道題目 1.有100盞燈,開始都是關著的 let arr new array 100 fill 0 可以建立乙個長度為100,每項為 0 的陣列 0表示關著,1表示開著 2.第乙個學生按1的倍數燈,第二個...