题目
tips:
1.本题只用多试几次,由数据推导规律即可
2.汉诺塔问题分析
这里的递归函数是(n,a,b,c)指n个盘子从a移到c,且凭借b
递归边界是n=1
原始思想:要想把n个盘子从a移到c,若n=1则直接move a到c
n>1时,就先挪前n-1张从a到b,则可把最后一张盘子从a移到c
最后一步,把n-1张盘子从b移到c。
这就是比较粗略的宏观视角,但是同时也思考了递归边界的特殊值(微观),由宏观就会递归到微观。
答案
#include <iostream>
#include<cmath>
#include<cstdio>
using namespace std;
int main()
{
int t, n, k;
cin>>t;
while (t--)
{
cin >> n >> k;
long long ans=pow(2, n - k);
cout << ans << endl;
}
return 0;
}