【入门】汉诺塔的移动次数 - 题解
【入门】汉诺塔的移动次数
时间限制: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; }
本文采用 「CC-BY-NC 4.0」 创作共享协议,转载请注明作者及出处,禁止商业使用。
作者:Jerrycyx,原文链接:https://www.cnblogs.com/jerrycyx/p/18331299
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步