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

高精度整数加法

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;
}

全部评论

相关推荐

迷茫的大四🐶:哇靠,哥们,啥认证啊,副总裁实习,这么有实力嘛
一起聊美团
点赞 评论 收藏
分享
牛客21331815...:像我一投就pass,根本不用焦虑泡池子
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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