2008年1月11日 星期五

Lab Hanoi Tower

The pseudocode for Hanoi Tower is as follows:

Solve(N, Src, Aux, Dst)
if N is 0 return
Solve(N-1, Src, Dst, Aux)
Move N from Src to Dst
Solve(N-1, Aux, Src, Dst)


Write the Java program based on the pseudocode in the above.




若有n個盤子,則移動完畢所需之次數為2^n - 1,所以當盤數為64時,則所需次數為:

264- 1 = 18446744073709551615

為5.05390248594782e+16年,也就是約5000世紀,如果對這數字沒什麼概念,就假設每秒鐘搬一個盤子好了,也要約5850億年左右。

所以建議測試不要用太大數字

否則就是幾乎陷入無窮迴圈拉~

沒有留言: