QwQ,来一发正解
不用python!不用python!!不用python!!!
(其实是我不会……)
C++高精度思路:
遵循ans=2^n-1的规律,用高精度乘单精度(数据太H2O,不用快速幂~)
代码如下:
#include<bits/stdc++.h>
using namespace std;
int a[100000];
int main()
{
int n;
cin>>n;
a[0]=1;
int l=1;
for(int i=0;i<n;i++)
{
for(int j=0;j<l;j++) a[j]*=2;//先预处理乘2
for(int j=0;j<l;j++)
{
a[j+1]+=a[j]/10;//进位
a[j]%=10;//取后一位
}
if(a[l]>0) l++;
}
a[0]--;//别忘了减一
for(int i=l-1;i>=0;i--) cout<<a[i];
return 0;
}
再见喽~