程序
#include<bits/stdc++.h>
using namespace std;
int a,i=0;
unsigned long long sum=1;
long double sum2=1;
char b[50001];
int main()
{
cin>>a;
if(a<201)
{
if(a==0)
{
cout<<0<<endl<<0;return 0;
}
if(a==1)
{
cout<<1<<endl<<1;return 0;
}
while(a>4)
{
sum*=3;
sum2*=3;
a-=3;
}
if(a==4)
{
sum*=4;
sum2*=4;
}
if(a==3)
{
sum*=3;
sum2*=3;
}
if(a==2)
{
sum*=2;
sum2*=2;
}
for(i;sum2>=pow(10,i);i++)
{
}
cout<<i<<endl;
cout<<sum;
return 0;
}
else
{
for(int j=0;j<50001;j++)
{
b[j]='0';
}
b[0]='1';
while(a>4)
{
for(int j=0;j<50001;j++)
{
b[i]-='0';
b[i]*=3;
b[i]+='0';
while(b[i]>'9')
{
b[i]-=10;
b[i+1]+=1;
}
}
}
if(a==4)
{
for(int j=0;j<50001;j++)
{
b[i]-='0';
b[i]*=4;
b[i]+='0';
while(b[i]>'9')
{
b[i]-=10;
b[i+1]+=1;
}
}
}
if(a==3)
{
for(int j=0;j<50001;j++)
{
b[i]-='0';
b[i]*=3;
b[i]+='0';
while(b[i]>'9')
{
b[i]-=10;
b[i+1]+=1;
}
}
}
if(a==2)
{
for(int j=0;j<50001;j++)
{
b[i]-='0';
b[i]*=2;
b[i]+='0';
while(b[i]>'9')
{
b[i]-=10;
b[i+1]+=1;
}
}
}
for(int j=50000;j>-1;j--)
{
if(b[j]!=0)
{
cout<<j<<endl;
for(int k=0,l=j;k<100;k++,l--)
{
cout<<b[l];
}
}
}
return 0;
}
}