✔ 最佳答案
發問者大概想要理論證明而非列舉吧?
2012-12-07 03:01:46 補充:
解法一(表解法) :
若果依照 (0000000) → (0100000) → (0100000) → (0101000) ...
逐一列舉, 將會十分繁瑣。為簡化程序、提高效率及便於查對起見,採用以下的表解法,可把列舉過程大幅縮減 80% 以上,並使各路變化一目了然。 下圖表示原始局面(七顆棋子白色全向上,且由棋子1開始檢查) :
☀☆☆☆☆☆☆ → (☆依左至右為棋子2至7)
☆ → (棋子1)
☆ = - 1 為白面 , ★ = 1 為黑面。列表規則 :
把棋子1乘以棋子2 ,得出棋子2最新狀態 ,並填在棋子1 右鄰,
把棋子2最新狀態乘以棋子3,得出棋子3最新狀態,並填在棋子2右鄰,
餘此類推....
把棋子7乘以與之同行之棋子1,得出棋子1最新狀態, 填在下一行之首。
重複進行上述步驟,直至各棋子的最新狀態全為 ☆ 時 ,證明完成。
☀☆☆☆☆☆☆ ...0
☆★☆★☆★☆ ...1
★★☆☆★★☆ ...2
☆☆★☆☆☆★ ...3
☆★★☆★☆☆ ...4
★★★☆☆★☆ ...5
☆☆☆★☆☆★ ...6
☆★☆☆★☆☆ ...7
★★☆★★☆★ ...8
★★☆☆☆★★ ...9
★★☆★☆☆☆ ..10
☆☆★★☆★☆ ..11
★☆☆☆★★☆ ..12
☆★☆★★★☆ ..13
★★☆☆☆☆★ ..14
★★☆★☆★★ ..15
★★☆☆★★★ ..16
★★☆★★★★ ..17
★★☆☆☆☆☆ ..18
☆☆ ...........19
如圖, 在第19輪更新棋子2時,共經歷了 7 x 18 + 2 = 128 種局面狀態,再一次令棋子全部白色向上。
故經過127n次(n為非負整數)動作後,可再一次令棋子全部白色向上。
解法二(分析法 ,適用於任何數量的棋子) :
棋子數有7顆(檢查對象) ,7顆棋狀態至多有 2⁷ 種,
故局面狀態至多 7(2⁷) = 896 種。
所以在經過不多於 897 次局面狀態後必定又回到之前的某個局面。記首次出現的重複局面為 A2 重複 A1 。(即從原始局面到 A1 內無重複局面)
而已知任何一個局面 , 都可唯一確定之前或之後的一個局面。
現在由 A2 及 A1 開始同步反向檢視各個無分別的局面 ,
當從 A1 反向檢視到原始局面時 , 因從原始局面到 A1 內無重複局面 ,
故 A2 的反向檢視還未輪到 A1 , 換言之, 在A1 到 A2 間存在原始局面 ,
於是得證這個程序動作其實構成一個完全可逆的循環迴路。
即經過若干次動作後, 可再一次令棋子回復原始局面, 從而棋子全部白色向上。
證明完畢。
2012-12-07 13:39:43 補充:
註 :
在推出A1 到A2 間存在原始局面時, 則原始局面的重複先於A2 重複A1 ,
這與首次出現的重複局面為A2 重複A1 的假設茅盾 , 故A1 不可能出現在原始局面之後,
從而A1 ,A2 乃為原始局面, 即首次出現的重複局面實為原始局面本身。