2,3,5点救命!
查看原帖
2,3,5点救命!
350448
FALCONAD楼主2021/8/7 16:23
#include<bits/stdc++.h>
using namespace std;
char a[1000001],b[1000001];
int c[1000001];
int main()
{
	scanf("%s%s",a,b);
	int lena=strlen(a),lenb=strlen(b);
	for(int i=0;i<lena;i++) a[i]-='0';
	for(int i=0;i<lenb;i++) b[i]-='0';
	if(lena<lenb)
	{
		for(int i=1;i<=lenb-lena;i++)
		{
			for(int i=lena;i>=1;i--)
			{
				a[i+1]=a[i];
				a[0]=0;
			}
		}
	}
	if(lenb<lena)
	{
		for(int i=1;i<=lena-lenb;i++)
		{
			for(int i=lenb;i>=1;i--)
			{
				b[i+1]=b[i];
				b[0]=0;
			}
		}
	}
	for(int i=max(lena,lenb);i>=0;i--)
	{
		c[i]+=a[i]+b[i];
		if(a[i]+b[i]>=10)
		{
			c[i]%=10;
			c[i-1]++;
		}
	}
	if(a[0]+b[0]>=10)
	{
		for(int i=max(lena,lenb);i>=1;i--)
		{
			c[i]=c[i-1];
			c[0]=1;
		}
	}
	for(int i=0;i<max(lena,lenb);i++) cout<<c[i];
	return 0;
}

2021/8/7 16:23
加载中...