通天之汉诺塔
汉诺塔移动的次数是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; }
标签:通天,int,long,++,高精,汉诺塔 From: https://www.cnblogs.com/o-Sakurajimamai-o/p/17431102.html