为什么高精不给过
  • 板块P1001 A+B Problem
  • 楼主HKFZack
  • 当前回复8
  • 已保存回复8
  • 发布时间2021/5/19 15:49
  • 上次更新2023/11/4 23:04:43
查看原帖
为什么高精不给过
520876
HKFZack楼主2021/5/19 15:49
#include<bits/stdc++.h>
using namespace std;
char a1[10001],b1[10001];
int a2[10001],b2[10001];
int c[10001];
int l1,l2;
int t;
int main()
{
	cin>>a1;
	cin>>b1;
	l1=strlen(a1);
	l2=strlen(b1);
	for(int i=1;i<=l1;i++)
	{
		a2[i]=a1[i-1]-'0';
	}
	for(int i=1;i<=l2;i++)
	{
		b2[i]=b1[i-1]-'0';
	}
	for(int i=1;i<=l1/2;i++)
	{
		swap(a2[i],a2[l1-i+1]);
	}
	for(int i=1;i<=l2/2;i++)
	{
		swap(b2[i],b2[l2-i+1]);
	}
	if(l1>l2)
	{
		t=l1;
	}
	else
	{
		t=l2;
	}
	for(int i=1;i<=t;i++)
	{
		c[i]+=a2[i]+b2[i];
		c[i+1]+=c[i];
		c[i]=c[i]%10;
		c[i+1]/=10;
	}
	if(c[t+1]!=0)
	{
		t++;
	}
	else
	{
		while(c[t]==0&&t!=1)
		{
			t--;
		}
	}
	for(int i=t;i>=1;i--)
	{
		cout<<c[i];
	}
	return 0;
}
2021/5/19 15:49
加载中...