題解 Hanoi雙塔問題(高精度處理,壓4用20)

2021-09-24 11:21:50 字數 757 閱讀 5354

題目描述

給定a,b,c三根足夠長的細柱,在a柱上放有2n個中間有空的圓盤,共有n個不同的尺寸,每個尺寸都有兩個相同的圓盤,注意這兩個圓盤是不加區分的(下圖為n=3的情形)。現要將 這些國盤移到c柱上,在移動過程中可放在b柱上暫存。要求:

提交(1)每次只能移動乙個圓盤;

(2) a、b、c三根細柱上的圓盤都要保持上小下大的順序;

任務:設an為2n個圓盤完成上述任務所需的最少移動次數,對於輸入的n,輸出an。

輸入輸入檔案hanoi.in為乙個正整數n,表示在a柱上放有2n個圓盤。

輸出輸出檔案hanoi.out僅一行,包含乙個正整數,為完成上述任務所需的最少移動次數an。

樣例輸入

1樣例輸出2提示

對於50%的資料, 1<=n<=25

對於100% 資料, 1<=n<=200

設法建立an與an-1的遞推關係式。

思路**

//a[1]=2;a[n]=2*a[n-1]+2; 

#include#include#includeusing namespace std;

int a[22];//四位一格,共80位

int main()

} int i=20;

while(i>1&&!a[i]) i--; //去0

cout

printf("%04d",a[i]);

cout<} return 0;

}

高精度之Hanoi雙塔問題

description 給定a b c三根足夠長的細柱,在a柱上放有2n個中間有孔的圓盤,共有n個不同的尺寸,每個尺寸都有兩個相同的圓盤,注意這兩個圓盤是不加區分的。現要將這些圓盤移到c柱上,在移動過程中可放在b柱上暫存。要求 1 每次只能移動乙個圓盤 2 a b c三根細柱上的圓盤都要保持上小下大...

easy高精度 Hanoi雙塔問題

題目描述 給定a b c三根足夠長的細柱,在a柱上放有2n個中間有孔的圓盤,共有n個不同的尺寸,每個尺寸都有兩個相同的圓盤,注意這兩個圓盤是不加區分的 下圖為n 3的情形 現要將這些圓盤移到c柱上,在移動過程中可放在b柱上暫存。要求 1 每次只能移動乙個圓盤 2 a b c三根細柱上的圓盤都要保持上...

高精度 P1096 Hanoi 雙塔問題

題目描述 給定a b c三根足夠長的細柱,在a柱上放有2n個中間有孔的圓盤,共有n個不同的尺寸,每個尺寸都有兩個相同的圓盤,注意這兩個圓盤是不加區分的 下圖為n 3的情形 現要將這些圓盤移到c柱上,在移動過程中可放在b柱上暫存。要求 1 每次只能移動乙個圓盤 2 a b c三根細柱上的圓盤都要保持上...