题目要求:
n个盘子的汉诺塔最少移动次数为2的n次方减1,在移动过程中会产生2的n次方个系列。错误移动会产生更多的系列数,计算所有会产生的系列种数。
题目思路:1个盘子产生3种系列,2个盘子产生9种系列,3个盘子产生27种系列。。。。。由此推出n个盘子产生3的n次方种系列。
细节处理: 运用pow函数可以简化程序。
2 3 4 5 6 7 8 9 10 11 12 13
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,i,k;
long long t;
cin>>n;
for(i=0;i<n;i++)
{ cin>>k;
t=pow(3,k);
cout<<t<<endl;}
return 0;
}
2 3 4 5 6 7 8 9 10 11 12 13
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,i,k;
long long t;
cin>>n;
for(i=0;i<n;i++)
{ cin>>k;
t=pow(3,k);
cout<<t<<endl;}
return 0;
}