回覆列表
  • 1 # 待花開歲月散步的

    漢諾塔通項公式

    漢諾塔問題家傳戶曉,其問題背景不做詳述,此處重點講解在有3根柱子的情況下,漢諾塔問題求解的通項公式的推導。

    問題背景:有A,B和C三根柱子,開始時n個大小互異的圓盤從小到大疊放在A柱上,現要將所有圓盤從A移到C,在移動過程中始終保持小盤在大盤之上。求移動盤子次數的最小值。

    變數設定:n為圓盤個數,H(k)為n=k時移動盤子次數的最小值。

    遞推公式:H(k)=2H(k-1)+1。

    通項公式:H(k)=2^k-1。

    證明:

    (1)證明遞推公式:首先被移動到C盤的必定是最大的盤子,否則必定違反“在移動過程中始終保持小盤在大盤之上”的規定。既然要將最大盤移動到C,此時最大盤之上必定沒有任何盤子,亦即它獨自在一根柱子上,要做到這點最優做法當然是先把較小的n-1個盤子由A移動到B,剩下最大盤獨自在A。將n-1個盤由A移動到B花費的最少次數為H(n-1)。此時再將最大盤由A移動到C,此時移動總次數為H(n-1)+1。接著把剩下的n-1個盤由B移動到C,花費的最少次數當然也是H(n-1)。於是得到總移動次數2H(n-1)+1.證得H(k)=2H(k-1)+1。

    (2)推導通項公式。由H(k)=2H(k-1)+1得H(k)+1=2(H(k-1)+1),於是{H(k)+1}是首項為H(1)=1,公比為2的等比數列,求得H(k)+1=2^k,所以H(k)=2^k-1

  • 中秋節和大豐收的關聯?
  • 魚水情深的意思是什麼?