Tower of Hanoi

河內塔

N塊盤從A塔到C塔 = N-1塊盤從A塔到B塔 + 1塊盤從A塔到C塔 + N-1塊盤從B塔到C塔

用數學計算移動次數

move(N)      = move(N-1)*2 + 1

move(N-1)*2 = move(N-2)*4 + 2

move(N-2)*4 = move(N-3)*8 + 4

move(N-3)*8 = move(N-4)*16 + 8

點點點

move(1)*2^(N-1) = move(0)*2^N + 2^(N-1)

加總等於

move(N) = 1 + 2 + 4 + 8 + ... + 2^(N-1) = 2^N -1 (等比級數)

用程式計算移動次數

http://zerojudge.tw/ShowProblem?problemid=a268