大海中的孤帆 @ 2024-02-05 08:24:41
#include<bits/stdc++.h>
using namespace std;
int a[100000010];
int p;
int tot;
void add()
{
for(int i=1;i<=tot;++i)
{
a[i]+=a[i];
}
for(int i=1;i<=tot;++i)
{
a[i+1]+=a[i]/10;
a[i]%=10;
}
if(a[tot+1])
tot++;
return;
}
int main()
{
cin>>p;
a[1]=2;
tot=1;
for(int i=1;i<p;++i)
{
add();
}
cout<<tot<<endl;
for(int i=500;i>=1;--i)
{
cout<<a[i];
}
return 0;
}
by DevilsFlame @ 2024-02-05 08:26:32
你答案-1了吗?
by DevilsFlame @ 2024-02-05 08:27:34
可以用快速幂和<<
位移