用1,2,...,n表示n個盤子,稱為1號盤,2號盤,...。號數大盤子就大。經典的漢諾塔問題經常作為一個遞歸的經典例題存在。可能有人并不知道漢諾塔問題的典故。漢諾塔來源于印度傳說的一個故事,上帝創造世界時作了三根金剛石柱子,在一根柱子上從下往上按大小順序摞著64片黃金圓盤。上帝命令婆羅門把圓盤從下面開始按大小順序重新擺放在另一根柱子上。并且規定,在小圓盤上不能放大圓盤,在三根柱子之間一回只能移動一個圓盤。我們知道最少需要移動2^64-1次.在移動過程中發現,有的圓盤移動次數多,有的少 。 告之盤子總數和盤號,計算該盤子的移動次數.
260 13 1Example Output
5764607523034234884Hint
Author
Answer:#include<stdio.h>#include<math.h>int main(){ long long int k ; int m,n,t; while(~scanf("%d",&t)) { while(t--) { scanf("%d %d",&m,&n); k=pow(2,m-n); printf("%lld/n",k); } }
return 0;}
新聞熱點
疑難解答