通天之汉诺塔

发布时间 2023-05-25 14:32:01作者: o-Sakurajimamai-o

通天之汉诺塔

汉诺塔移动的次数是2^n-1,但是呢由于本题的n很大,所以要用到高精,考察高精度,来愉快的打一下吧(呜呜我一直觉得高精没啥用所以妹学

#include<bits/stdc++.h>
using namespace std;
long long n,a[10000010],l=1;
void p()//高精度函数加法
{
    for(int i=1;i<=l;i++) a[i]*=2;
    for(int i=1;i<=l;i++)
        if(a[i]>9)
        {
            a[i+1]++;
            a[i]-=10;
        }
    if(a[l+1]>0) l++;
}
int main()
{
    cin>>n;
    a[1]=1;
    for(int i=0;i<n;i++) p();
    for(int i=l;i>1;i--) cout<<a[i];//倒序输出
    cout<<a[1]-1;//末尾减一
    return 0;
}