为什么只输出零?
查看原帖
为什么只输出零?
1034688
_Geburah楼主2024/5/7 21:28
#include<bits/stdc++.h>
using namespace std;
int a1[1000000]={0};
int n;
string cheng(string a,int sum)
{
	if(sum!=0)a=cheng(a,sum-1);
	int a2=a.size();
	string b;
	for(int i=1,j=a2;i<=a2;j--,i++)
	{
		b[i]=a[j];
	}
	a=b;
	for(int i=0;i<a2;i++)
	{
		a1[i+1]=a[i]-'0';
	}
	for(int i=1;i<=a2;i++)
	{
		a1[i]*=2;
	}
	for(int i=1;i<=a2;i++)
	{
		int j=i;
		while(a1[j]>10)
		{
			a1[j+1]+=a1[j]/10;
			a1[j]%=10;
		}
	}
	for(int i=0;i<=a2;i++)
	{
		if(a1[i+1]!=0)
		b[i]=a1[i+1]+'0';
	}
	int b2=b.size();
	for(int i=1,j=b2;i<=b2;j--,i++)
	{
		a[i]=b[j];
	}
	return a;
}
int main()
{
	cin>>n;
	string a=cheng("2",n);
	cout<<a.size();
	return 0;
}
2024/5/7 21:28
加载中...