汉诺塔的问题大家都已经很熟悉了,有三个柱子,每个柱子上有一些大小不一的金片,要把金片从A柱移动到C柱,可以借助B柱,请问n个金片的情况下,需要最少移动多少次?
输入
一个整数n代表金片的数量(n<=20)
输出
一个整数,代表n个金片的移动次数
我们知道汉诺塔的移动次数是2的n次方-1,所以就可以用函数pow来解答。
上代码!
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int n;
cin>>n;
cout<<pow(2,n)-1;
return 0;
}