加入收藏 | 设为首页 | 会员中心 | 我要投稿 厦门网 (https://www.xiamenwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

a+b(大数加法)

发布时间:2020-12-24 09:04:07 所属栏目:大数据 来源:网络整理
导读:Problem Link:点击打开链接 题目描述 实现一个加法器,使其能够输出a+b的值。? 输入描述: 输入包括两个数a和b,其中a和b的位数不超过1000位。 输出描述: 可能有多组测试数据,对于每组数据,输出a+b的值。 输入例子: 2 610000000000000000000 1000000000000


Problem Link:点击打开链接


题目描述

实现一个加法器,使其能够输出a+b的值。?
输入描述:
输入包括两个数a和b,其中a和b的位数不超过1000位。


输出描述:
可能有多组测试数据,对于每组数据,
输出a+b的值。

输入例子:
2 6
10000000000000000000 10000000000000000000000000000000

输出例子:
8
10000000000010000000000000000000


AC code:

#include<iostream>
#include<algorithm>
#include<stdio.h>
#include<map>
#include<math.h>
#include<string.h>
#include<queue>
#include<vector>
#include<set>
#define LL long long
#define exp 1e-9
#define MAXN 1000010

using namespace std;

string sum(string s1,string s2)
{
	if(s1.length()<s2.length())
	{
		string temp=s1;
		s1=s2;
		s2=temp;
	}
	int i,j;
	for(i=s1.length()-1,j=s2.length()-1;i>=0;i--,j--)
	{
		s1[i]=char(s1[i]+(j>=0?s2[j]-'0':0));   //注意细节
		if(s1[i]-'0'>=10)
		{
			s1[i]=char((s1[i]-'0')%10+'0');
			if(i) s1[i-1]++;
			else s1="1"+s1;
		}
	}
	return s1;
}

int main()
{
//	freopen("D:in.txt","r",stdin);
	string s1,s2;
	while(cin>>s1>>s2)
	{
		cout<<sum(s1,s2)<<endl;
	}
	return 0;
}

(编辑:厦门网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读