汉诺塔系列1
Problem Description
n個(gè)盤(pán)子的漢諾塔問(wèn)題的最少移動(dòng)次數(shù)是2^n-1,即在移動(dòng)過(guò)程中會(huì)產(chǎn)生2^n個(gè)系列。由于發(fā)生錯(cuò)移產(chǎn)生的系列就增加了,這種錯(cuò)誤是放錯(cuò)了柱子,并不會(huì)把大盤(pán)放到小盤(pán)上,即各柱子從下往上的大小仍保持如下關(guān)系?:
n=m+p+q
a1>a2>...>am
b1>b2>...>bp
c1>c2>...>cq
計(jì)算所有會(huì)產(chǎn)生的系列總數(shù)。
Input
包含多組數(shù)據(jù),首先輸入T,表示有T組數(shù)據(jù).每個(gè)數(shù)據(jù)一行,是盤(pán)子的數(shù)目N<30。
Output
對(duì)于每組數(shù)據(jù),輸出移動(dòng)過(guò)程中所有會(huì)產(chǎn)生的系列總數(shù)。
Example Input
31329Example Output
32768630377364883 #include <stdio.h> #include <stdlib.h> long long int f(int n) {if(n==1)return 3;elsereturn 3*f(n-1); } int main() {int t,n,i;scanf("%d",&t);for(i=1;i<=t;i++){scanf("%d",&n);printf("%lld\n",f(n));}return 0; }總結(jié)
- 上一篇: js和jsp所有页面跳转总结
- 下一篇: C++11并发实战(专栏)