代码
#include<bits/stdc++.h>
using namespace std;
#define int long long
int p;
struct node{
int a[505];
int len;
void pow(int x){
int g=0;
for(int i=1;i<=501;i++){
a[i]=a[i]*x+g;
g=a[i]/10;
a[i]%=10;
}
while(g&&len<=501){
a[++len]=g%10;
g/=10;
}
}
}n;
signed main(){
memset(n.a,0,sizeof n.a);
n.len=0;
n.a[1]=1;
cin>>p;
cout<<(int)(p*log10(2.0)+1);
int cnt=p/28;
for(int i=1;i<=cnt;i++){
n.pow(268435456);
}
for(int i=1;i<=p%28;i++){
n.pow(2);
}
n.a[1]--;
for(int i=500;i>=1;i--){
if(i%50==0)cout<<endl;
cout<<n.a[i];
}
}