非遞歸解漢諾塔(奇數版)

啥也不說了,下載地址

 

https://github.com/corivsky/corivsky

 

 

 

假設盤子總數爲奇數,目標從1移到3號柱。
奇數盤 移動順序循環是 1->3 3->2 2->1
偶數盤                              1->2 2->3 3->1

第n步是幾號盤第幾次移動?
假設最上方1號盤,往下增大。

n%2=1  1號盤 第  n/2+1 次移動
n%2=0 (n/2)%2=1 2號盤 第(n/2/2)+1次移動
以此類推

根據奇數盤偶數盤以及移動次數對3取餘,可以算出是幾號柱子到幾號柱子

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