大数求和
来源:互联网 发布:乐清知临寄宿学校招聘 编辑:程序博客网 时间:2024/06/05 04:55
描述:
给定两个非常大的正整数A和B,位数在50至100之间。求C=A+B;题目类别: 字符串
难度: 中级
运行时间限制: 10Sec
内存限制: 128MByte
输入:
因为A和B很大,从高位到低位,以字符串的形式输入两行数字A和B。A和B的位数在50至100之间。输出:
以字符串形式,输出一行,表示A和B的和。
样例输入:
11111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222
样例输出:
33333333333333333333333333333333333333333333333333代码:
#include<iostream>#include<string>using namespace std;string add(string s1, string s2) {int length1 = s1.size();int length2 = s2.size();if (length1 == 0 && length2 !=0) {return s2;}if (length1 != 0 && length2 == 0) {return s1;}if (length1 == 0 && length2 == 0) {return "0";} string result = "";int c = 0,num1,num2,sum;for (int i = length1 - 1, j = length2 - 1; i >= 0 || j >= 0 || c > 0; i--, j--) {num1 = i >= 0 ? s1[i] - '0' : 0;num2 = j >= 0 ? s2[j] - '0' : 0;sum = num1 + num2 + c;c = sum / 10;result = result.insert(result.begin(), sum % 10 + '0');}return result;}int main(){string s1;string s2;while (cin>>s1>>s2) {cout<<add(s1,s2)<<endl;}return 0;}
结果:
0 0
- 大数求和
- 大数求和
- 大数求和
- 大数求和
- 大数求和
- 大数求和
- 大数求和
- 大数求和
- 大数求和
- 大数求和
- 大数求和问题
- 华为oj【大数求和】
- HDU 1002大数求和
- 1002,大数求和
- 大数求和问题
- 大数求和问题
- 面试题整理-大数求和
- 【C语言代码】大数求和
- 编码问题的整理
- leetcode小白解题记录——第三题
- MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk
- hdu 1754 I Hate It(线段树单点更新)
- 从今天(8.18)到校招10月初的*学习计划*
- 大数求和
- 51nod 最复杂的数(反素数)
- 想和Java程序员谈一谈
- mybatis根据id循环取数据
- TextView属性
- android模拟用户输入
- 句柄
- 在Windows中实现sudo命令——命令行环境中获取管理员权限
- APP性能优化系列:UI性能优化