哪位大佬能告诉我为什么WA了两个点,难道还要算小数?(AC必关)
查看原帖
哪位大佬能告诉我为什么WA了两个点,难道还要算小数?(AC必关)
1387512
caozhihan楼主2024/8/23 22:02

A+B Problem(高精)

题目描述

高精度加法,相当于 a+b problem,不用考虑负数。

输入格式

分两行输入。a,b≤10500a,b \leq 10^{500}。

输出格式

输出只有一行,代表 a+ba+b 的值。

样例 #1

样例输入 #1

1
1

样例输出 #1

2

样例 #2

样例输入 #2

1001
9099

样例输出 #2

10100

提示

20%20\% 的测试数据,0≤a,b≤1090\le a,b \le10^9;

40%40\% 的测试数据,0≤a,b≤10180\le a,b \le10^{18}。

#include <bits/stdc++.h>
using namespace std;
int a[201],b[201],c[201];
string x,y;
int main()
{
	cin>>x;
	cin>>y;
	int i,j,len,p=0;
	for(i=0;i<x.size();i++) a[i+1]=x[i]-'0';
	for(j=0;j<y.size();j++) b[j+1]=y[j]-'0';
	len=max(i,j);
	for(i=len;i>=1;i--)
	{
		c[i]=a[i]+b[i]+p;
		p=0;
		if(c[i]>=10) 
		{
			p=1;
			c[i]%=10;
		}
	}
	bool z=false;
	if(p==1) cout<<"1";
	for(i=1;i<=len;i++)
	{
		if(z||c[i]!=0)
		{
			cout<<c[i];
			z=true;
		}
	}
	if(!z) cout<<"0";
	return 0;
} 
2024/8/23 22:02
加载中...