漢諾雙塔 (高精度)

2022-07-15 07:36:16 字數 738 閱讀 5282

由普通漢諾塔問題,設數量為n時移動次數為a[n],則a[n]=a[n-1]+1+a[n-1]=2*a[n-1]+1.// 因為a[1]=1,所以a[n]=2^n-1.(找規律?) 故雙塔就是2*(2^n-1).---》但這裡沒用到

因為資料忒大,所以得用高精度。// 這裡參考了別人的

思路就是用陣列來儲存每一位數。

1 #include2 #include3 #include4 #include5 #include6 #include7 #include8

#define mem(a) memset(a,0,sizeof(a))

9using

namespace

std;

10int f[200

];11

intmain()

1226 f[1]++;27}

28for(int i=1;i<=200;i++) //

雙塔的*2

29 f[i]*=2;30

for(int i=1;i<=200;i++)

31if(f[i]>=10)32

36int m=200;37

while(f[m]==0) //

找到最高位

38 m--;

39for(int i=m;i>=1;i--)

40 cout<

41return0;

42 }

view code

漢諾雙塔問題python Hanoi漢諾雙塔問題

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

漢諾雙塔問題python Hanoi漢諾雙塔問題

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

漢諾雙塔問題python Hanoi雙塔問題

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