题解 | #高精度整数加法#

高精度整数加法

https://www.nowcoder.com/practice/49e772ab08994a96980f9618892e55b6

// HJ57-2 高精度整数加法.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
#include<iostream>
#include<bits/stdc++.h>

using namespace std;

typedef long long ll;

int main()
{
	string s1, s2;
	vector<int>dp;
	while (cin >> s1 >> s2)
	{
		int m = s1.size(), n = s2.size();
		if (m < n)
		{
			string tmp = s1;
			s1 = s2;
			s2 = tmp;
		}
		m = s1.size(), n = s2.size();
		for (int i = 0; i < m - n; i++)
		{
			s2.insert(s2.begin(), '0');
		}
		int num = 0, jie = 0;
		for (int i = m - 1; i >= 0; i--)
		{
			num = s1[i] - '0' + s2[i] - '0'+jie;
			if (num >= 10)
			{
				jie = 1;
				num = num % 10;
			}
			else
			{
				jie = 0;
			}
			dp.insert(dp.begin(), num);
		}
		if (jie)
		{
			dp.insert(dp.begin(), 1);
		}
		for (auto c : dp)
		{
			cout << c;
		}
		cout << endl;
		dp.clear();
		//cout << s1 << " " << s2 << endl;
	}
	return 0;
}

全部评论

相关推荐

用微笑面对困难:不是你千万别小看这家公司,他们的预估市值成倍上涨,三次在报告看见这个公司了,总之如果是给股权的话可以试试,未来没准真能发家致富哈哈哈哈
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务