例題 3 2 開燈問題

2021-08-21 08:00:19 字數 543 閱讀 2628

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

樣例輸入:

7 3樣例輸出:

1 5 6 7  

#include #define maxn 1005

int a[maxn];

int main()

{ int n,k,i=0,j=1;

scanf("%d%d",&n,&k);

for(i=0;i新知識點:

1、陣列複製:從陣列a複製k個元素到陣列b,memcpy(b,a,sizeof(int)*k) ,若a,b都是浮點型用memcpy(b,a,sizeof(double)*k) ,如果需要把陣列a全部複製到陣列b,可以寫為memcpy(b,a,sizeof(a))。 memcpy在string.h標頭檔案中 

2、比較大的陣列應盡量宣告在main函式外,否則程式可能無法執行。

77 開燈問題

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

ACM 開燈問題

有n盞燈,編號為1 n.第乙個人把所有的燈開啟,第二個人按下所有的編號為2的倍數的開關,這些燈全部被關掉,第三個人按下編號為3的倍數的開關,其中關掉的燈將被開啟,開著的燈將被關閉 以此類推,一共有k個人,問最後那些燈是開著的?輸入 n和k 輸出開著燈的編號 k n 1000 include incl...

開燈問題程式

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