2032 燈的開關問題

2021-09-28 10:07:29 字數 712 閱讀 9755

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的倍數燈,第二個...