请求帮忙
查看原帖
请求帮忙
835944
gyttnnd楼主2022/11/15 19:42
#include<bits/stdc++.h>
using namespace std;
int a[10000];
int b[10000];
int c[10000];
int main()
{
	int p,k;
	cin>>p;
	printf("%d\n",(int)(log10(2)*p+1));
	a[1]=2;
	b[1]=2;
	for(k=1;k<=p;k=k*2)
	{
	    for(int i=1;i<=10000;i++)
	    {    
	       int x=0;
		   for(int j=1;j<=10000;j++)
		   {
			  c[i+j-1]=a[i]*b[j]+x+c[i+j-1];
			  x=c[j+i-1]/10;
			  c[j+i-1]%=10;
		   }
	    }
	    for(int i=1;i<=10000;i++)
	    {
	   	   a[i]=c[i];
	   	   b[i]=c[i];
	    }
	}
	for(int i=1;i<=p-k;i++)
	{
		int x=0;
		for(int j=1;j<=503;j++)
		{
			a[j]=a[j]*2+x;
			x=a[j]/10;
			a[j]=a[j]%10;
		}
	}
	a[1]=a[1]-1;
	for(int i=500;i>=1;i--)
	cout<<a[i];
	return 0;
}
2022/11/15 19:42
加载中...