基于C++的string类的大数相加的一种算法
来源:互联网 发布:php o2o 编辑:程序博客网 时间:2024/06/11 18:23
#include<iostream>using namespace std;string add(string s1,string s2){ string max,min; max=s1; min=s2; if(max.size()<min.size()) { max=s2; min=s1; } int La=max.size(); int Lb=min.size(); int j=La-1; for(int i=Lb-1;i>=0;i--,j--) max[j]+=min[i]-'0'; for(int i=La-1;i>=1;i--) if(max[i]>'9') { max[i]-=10; max[i-1]++; } if(max[0]>'9') { max[0]-=10; max='1'+max; } return max;}int main(){ cout<<add("9989","21");return 0;}
该算法分为三步:
一、将较大值和较小值从各位开始对齐相加
max[j]+=max[i]-'0'; //此时max[j]的值是两个和的assic值
二、从尾到头扫描,assci值大于'9'的进位
二、第一位进行特殊处理
0 0
- 基于C++的string类的大数相加的一种算法
- 大数相加算法的实现
- [C++]大数相加-string
- 大数相加的问题
- 大数的相加、相减
- 大数的相加
- 我的大数相加
- 一种计算大数阶乘的算法
- C/C++“大数相加算法”
- 大数相加的简单实现
- 我的大数相加模板
- NOJ上的大数相加
- 1002题大数的相加
- 两个大数相加比较符合自然运算的算法
- 简单的大数相加的实现
- 简单的大数相加的实现
- 曾经的傻程序(两大数相加)
- java ACM 大数相加使用的bigInteger
- A Multiplication Game - HDU 1517 博弈
- c++ 内存四区简单总结
- 动画和图片的处理
- 深入理解JAVA虚拟机读书笔记之Java内存区域与内存溢出异常
- STM8系列单片机复用引脚烧写程序注意事项
- 基于C++的string类的大数相加的一种算法
- scala eclipse plugin 插件安装
- 104.Maximum Depth of Binary Tree
- 黑马程序员——Java基础--集合(四)
- webview加载html调用js
- guide
- 【RQNOJ】460 诺诺的队列
- leetcode 67 Add Binary
- malloc-free和new-delete