問題 F 開燈問題(第二講)c語言

2021-10-02 01:16:54 字數 572 閱讀 1097

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

n和k,輸出開著的燈編號。k≤n≤1000。

輸出開著的燈編號

7 3
1 5 6 7
這道題其實**很簡單,主要的是思維模式。這裡主要講解一下思想。

n盞燈,k個人。每個人都要去看一遍所有的燈來是否滿足於他的倍數關係。這裡我可以將燈作為參考物件。每個人都來要與我進行匹配。來看他是否滿足與我的倍數關係,如果滿足,給與其相關的變數加一,最後判斷此變數是奇數還是偶數,由題可知,如果是奇數代表此燈開,如果是偶數代表此燈關。

// 

#include

int main()

if(count%2==

1)printf

("%d "

,i);

}return0;

}

感謝**!歡迎**問題。

開燈問題用C語言怎麼解決 ?

問題 走廊裡依次排列著100盞燈,依次從1號編100號,都關著。有100個學生從1號編到100號,依次走來,1號學生從第一只開關按起,凡是1的倍數都按一下,2號學生從第二隻開關按起,凡是2的倍數都按一下,3號學生從第三隻開關按起,凡是3的倍數都按一下,依次類推,直到第100號學生按完為止。最後有多少...

Problem G 豎式問題(第二講)

題目描述 找出所有形如 abc?de 三位數乘以兩位數 的算式,使得在完整的豎式中,所有數字都屬於乙個特定的數字集合。輸入數字集合 相鄰數字之間沒有空格 輸出所有豎式。每個豎式前應有編號,之後應有乙個空行。最後輸出解的總數。具體格式見樣例輸出 為了便於觀察,豎式中的空格改用小數點顯示,但所寫程式中應...

演算法競賽 開燈問題 C

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