100燈泡圍圈通亮問題

問題描述

有一百個燈泡,圍成一個圈。每個燈泡有一個開關。如果一個燈被打開或者關閉,那麼它相鄰的兩個燈泡狀態會與原狀態相反(亮變暗,暗變亮)。請問是否存在一種操作方式可以把這一百個燈泡打開(都處於亮的狀態)。

分析

1.將一百個等編號【1-100】,設置亮爲1,暗爲0,初始都爲0
2.從1號燈泡開始打開,每次隔着前一次按下編號的兩個燈按,N=3n-2 (n表示第n次打開燈泡),這樣一直按下去,直到只有99號燈不亮 爲止,一共需要按33次。
3.這個時候唯一可以操作的就是把99號燈打開,那麼98,100號燈就都滅了,再打開98號燈,那麼99就滅了,97號燈也滅了,這個時候,97滅了,98亮,99,100都滅的,其他都是亮的。那麼由此可以推出,只要一直這樣往前推,直到1號燈變暗,99,100變暗,然後就可以按下100號燈就可以把所有燈都打開了。

推導過程

因爲這個100個燈泡有些多,如果我們要進行推論的話,使用一個與100等效的小規模更爲適合,這裏我們使用的是10個燈泡,將規模整數倍縮小爲原來的十分之一。如果說10個燈泡可以都按亮,那麼100個同理都可以按亮。請看下面的Excel表格的推導演示。

100燈泡圍圈通亮問題

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章