东方博宜OJ 1223:汉诺塔的移动次数

【题目来源】
https://oj.czos.cn/p/1223

【题目描述】

boyi1222

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

【输入格式】
输入一个整数 n 代表金片的数量(n≤20)。

【输出格式】
一个整数,代表 n 个金片的移动次数。

【输入样例】
3

【输出样例】
7

【数据范围】
n≤20

【算法分析】
n 阶汉诺塔的移动次数为 2^n-1

【算法代码】

#include <bits/stdc++.h>
using namespace std;

int main() {
    int n;
    cin>>n;
    cout<<pow(2,n)-1;

    return 0;
}

/*
in:3
out:7
*/





【参考文献】
https://blog.csdn.net/hnjzsyjyj/article/details/156025724
https://blog.csdn.net/hnjzsyjyj/article/details/115372258
https://oj.czos.cn/p/1222


 

posted @ 2025-12-17 20:53  Triwa  阅读(5)  评论(0)    收藏  举报