【入门】汉诺塔的移动次数 - 题解

【入门】汉诺塔的移动次数

时间限制:C/C++ 1000MS,其他语言 2000MS
内存限制:C/C++ 128MB,其他语言 256MB

描述

汉诺塔的问题大家都已经很熟悉了,有三个柱子,每个柱子上有一些大小不一的金片,要把金片从 \(A\) 柱移动到 \(C\) 柱,可以借助 \(B\) 柱,请问 \(n\) 个金片的情况下,需要最少移动多少次?

输入描述

输入一个整数 \(n\) 代表金片的数量(\(n\le20\)

输出描述

一个整数,代表 \(n\) 个金片的移动次数

用例输入 1

3

用例输出 1

7

代码

#include<cstdio>
using namespace std;

int main()
{
	int n;
	scanf("%d",&n);
	printf("%d\n",(1<<n)-1);
	return 0;
}
posted @ 2024-07-29 23:33  Jerrycyx  阅读(74)  评论(0编辑  收藏  举报