本文共 359 字,大约阅读时间需要 1 分钟。
突破口:有n个盘子,先将上面n-1个盘子移动最右边,f(n-1)次,再将第n个最下面的盘子移到第二根柱子,再将最右边n-1个移动到最左边,f(n-1)次,再将第n个盘子移到最右边,最后将n-1个盘子又移动到最右边,f(n-1)次,则f(n)=3*f(n-1)+2。
代码如下:
#include#include #include #include using namespace std;long long a[40];int main(){ int n,i; a[1]=2; for(i=2;i<=35;i++) a[i]=3*a[i-1]+2; while(cin>>n) { cout< <
转载地址:http://nbdci.baihongyu.com/