汉诺塔移动次数的问题周赛problem B

https://vjudge.net/contest/274223#problem/B

In summary,要懂得汉诺塔的移动原理,就是不断重复调用递归函数。

#include 
#include
using namespace std;
int main()
{
	int m; int k; int j;long long int s; int n;
	cin >> n;//记住要测试多少组数据
	for (int i = 0; i < n; i++)
	{
		cin >> m; cin >> k;//用n记住有多少个盘子,k是第几个盘子,盘子越大k越大
		j = m - k;//盘子需要调用多少次递归,因为移动是靠递归函数实现的
		s = pow(2, j);//再做2的j此方即可的到移动的次数
		cout << s << endl;
	}
}

 

你可能感兴趣的:(code)