大数相加
2015-09-06 15:29
211 查看
题目很简单,就是实现两个很大整数的相加操作,具体描述参见 A + B Problem II
直接贴一个我写的代码:
reference:
C++ string 实现大整数相加减
直接贴一个我写的代码:
string bigIntegerAdd(string s1, string s2) { int len1 = s1.size(); int len2 = s2.size(); int len = len1 > len2 ? len1+1 : len2+1; string res(len, '0'); int i, j, k; int carry = 0, sum; for (i = len1-1, j = len2-1, k = len-1; i >= 0 || j >= 0; i--, j--, k--) { sum = carry; if (i >= 0) sum += s1[i] - '0'; if (j >= 0) sum += s2[j] - '0'; if (sum >= 10) { res[k] += sum - 10; carry = 1; } else { res[k] += sum; carry = 0; } } if (carry == 1) { res[k] = '1'; return res; } else return res.substr(1); }
reference:
C++ string 实现大整数相加减
C语言实现高精度大整数的加法
有兴趣的读者可以尝试着实现其他运算,比如相减、相乘、相除。相关文章推荐
- CLR via C# 3 文摘
- [HDOJ5427]Cover
- iOS 打包所遇到的问题:can't link with a main executable file ‘XXX’for architecture armv7
- Android系统中设置TextView的行间距(非行高)
- 数据结构学习笔记 (一)
- 真正意义上了解innodb_support_xa(分布式事务)
- C++builder自绘控件框架
- Java单例模式
- 转: JMeter技巧集锦
- Algorithms—274.H-Index
- 程序员如何保持优秀
- Cocostudio 1.6 下载地址
- 寻找数组里第K 小的数
- Linux 下报错:A Java RunTime Environment (JRE) or Java Development Kit (JDK) must解决方案
- 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果
- 源码安装openssl
- poj 2385 Apple Catching
- X.509标准简介
- C实现两个文件的内容输出到同一个屏幕
- trap