- 浏览: 33578 次
最新评论
#include<iostream>
#include<string>
using namespace std;
string nGetstrAB(string strA,string strB);
void vOutPut(string strRet);
int main()
{
string strA,strB,strAB;
while(cin >>strA >>strB)
{
strAB=nGetstrAB(strA,strB);
vOutPut(strAB);
}
return 0;
}
string nGetstrAB(string strA,string strB)
{
string strC,strn;
int nCarry,lengthA,lengthB,lengthC,i,sum;
lengthA=strA.length();
lengthB=strB.length();
nCarry=0;
if(lengthA>lengthB)
{
strn.resize(lengthA-lengthB,'0');
strB=strn+strB;
lengthC=lengthA;
strC.resize(lengthC,'0');
for(i=lengthA-1;i>=0;i--)
{
sum=(strA[i]-'0')+(strB[i]-'0')+nCarry;
strC[i]=char(sum%10+'0');
nCarry=sum/10;
}
}
else
{
strn.resize(lengthB-lengthA,'0');
strA=strn+strA;
lengthC=lengthB;
strC.resize(lengthC,'0');
for(i=lengthB-1;i>=0;i--)
{
sum=(strB[i]-'0')+(strA[i]-'0')+nCarry;
strC[i]=char(sum%10+'0');
nCarry=sum/10;
}
}
if(1==nCarry)
{
strC='1'+strC;
}
return strC;
}
void vOutPut(string strRet)
{
cout<<strRet<<endl;
}
#include<string>
using namespace std;
string nGetstrAB(string strA,string strB);
void vOutPut(string strRet);
int main()
{
string strA,strB,strAB;
while(cin >>strA >>strB)
{
strAB=nGetstrAB(strA,strB);
vOutPut(strAB);
}
return 0;
}
string nGetstrAB(string strA,string strB)
{
string strC,strn;
int nCarry,lengthA,lengthB,lengthC,i,sum;
lengthA=strA.length();
lengthB=strB.length();
nCarry=0;
if(lengthA>lengthB)
{
strn.resize(lengthA-lengthB,'0');
strB=strn+strB;
lengthC=lengthA;
strC.resize(lengthC,'0');
for(i=lengthA-1;i>=0;i--)
{
sum=(strA[i]-'0')+(strB[i]-'0')+nCarry;
strC[i]=char(sum%10+'0');
nCarry=sum/10;
}
}
else
{
strn.resize(lengthB-lengthA,'0');
strA=strn+strA;
lengthC=lengthB;
strC.resize(lengthC,'0');
for(i=lengthB-1;i>=0;i--)
{
sum=(strB[i]-'0')+(strA[i]-'0')+nCarry;
strC[i]=char(sum%10+'0');
nCarry=sum/10;
}
}
if(1==nCarry)
{
strC='1'+strC;
}
return strC;
}
void vOutPut(string strRet)
{
cout<<strRet<<endl;
}
发表评论
-
最大子段和
2012-01-05 13:59 790给出N个数字, 计算出最大的子段和。 Input 第一行给 ... -
最长不下降子序列长度
2012-01-05 13:55 1342对于序列(1, 7, 3, 5, 9, 4,,有它的一些不下降 ... -
求两字符串匹配的最长子序列
2012-01-05 13:52 1027如果两种特征序列的公共子序列越长表示越接近,现在请你帮助计算出 ... -
编辑距离问题
2012-01-05 13:48 670#include<iostream> #incl ... -
Kruskal最小生成树
2011-12-08 14:26 714#include<iostream> #inclu ... -
prime
2011-12-01 20:09 623#include<iostream> using ... -
哈弗曼编码
2011-11-28 10:43 1#include<iostream> #defi ... -
哈弗曼编码
2011-11-28 10:42 547#include<iostream> #defi ... -
#贪心算法(零件加工)
2011-10-27 13:25 1001#include<stdio.h> #includ ... -
众数问题
2011-10-20 14:57 798#include <stdio.h> #inclu ... -
输油管道问题
2011-10-13 14:45 615#include <stdio.h> #inclu ... -
幂的精确求值
2011-09-22 15:07 471#include<iostream> using ... -
三姐妹之出题
2011-09-15 14:15 678#include<iostream> #incl ... -
最大子段和问题(分治)(##)
2011-09-08 21:31 675#include<stdio.h> #defin ... -
最大子段和问题(O(N^2))
2011-09-08 15:04 619#include<stdio.h> int a[ ... -
最大子段和问题(O(N^3))
2011-09-08 14:45 491#include<stdio.h> int a[ ...
相关推荐
在给定的描述中,我们关注的是迭代方法,并且特别强调了大数加法。由于普通的整型变量无法存储超过一定范围的数字,所以我们需要使用字符串来表示大数。以下是一个基于迭代和字符串的大数加法的斐波那契数列实现的...
在这个主题"JAVA大数加法与乘法"中,我们将深入探讨如何使用`BigInteger`类来执行大数的加法和乘法操作。 `BigInteger`是Java中用于表示任意精度整数的类。它支持任意大小的整数,可以进行加法、减法、乘法、除法...
C++单链表实现大数加法 大数加法是一种常见的算法问题,特别是在C++中实现大数加法时需要考虑到数字的位数和溢出问题。使用单链表来实现大数加法可以解决这个问题。本文将详细介绍如何使用C++单链表实现大数加法。 ...
acm大数加法的C语言实现,使用数组进行过程模拟,同时注意字符串中ASCII码的转换
**大数加法** 大数的加法可以使用类似于小学数学的方法,即从低位到高位逐位相加,并处理进位。为了实现这个算法,我们可以编写一个函数,接收两个大数数组和一个结果数组作为参数。首先,将两个输入数组的长度调整...
大数加法程序 大数加法程序 大数加法程序 C,C++
★大数加法(C语言实现)★.pdf
大数加法的算法,实现长度从0--100000000000的加法
在标题“gaojingdu.rar_c 大数加法_c++大数除法_大数 加 减 乘 除_大数算法_高精度”中,我们关注的是用C语言和C++实现的高精度算法,特别是大数的加法、减法、乘法和除法。这些操作是基础数学运算,但在计算机中...
本项目中,开发者用C++实现了大数阶乘和大数加法,虽然大数乘法未成功,但我们可以深入探讨这两个功能的实现原理。 ### 大数阶乘 大数阶乘的实现通常涉及到动态规划和链表数据结构。在C++中,由于没有内置的大数...
以下是对“c++大数加法乘法源码”主题的详细解释: 首先,我们需要了解大数数据结构。一种常见的方法是使用数组存储每个位,从最低位到最高位。例如,我们可以用一个整数数组`int digits[]`来表示大数,数组中的每...
使用Java编写大数加法的程序,程序简单易懂,适合开发小白看
大数加法
根据给定的文件标题、描述、标签以及部分内容,本文将详细介绍如何通过编程实现大数加法与乘法,使得能够处理长度超过常规整型或浮点型变量所能表示的数字。 ### 大数加法与乘法背景 在计算机科学中,大数问题指的...
高精度计算问题(大数加法、乘法、麦森数) 高精度计算问题是计算机科学中的一类重要问题,涵盖了大数加法、乘法、麦森数等领域。在本节中,我们将详细讨论高精度计算问题的解决方法和相关算法。 一、高精度计算...
以下将详细讨论大数加法的原理、实现方法以及可能遇到的问题。 首先,大数加法的基本原理类似于我们小时候学习的竖式加法。每个数字由多个位组成,我们逐位进行相加,并处理进位。具体步骤如下: 1. 初始化:根据...
在编程领域,大数加法是一项基础且重要的计算任务,特别是在需要处理超出普通整型变量范围的数值时。本文将详细解析使用C语言实现大数加法的原理和方法,结合"Add_BigNum.rar"这个压缩包中的"Add_BigNum.pdf"文档,...
1. **大数加法**:大数加法与小学数学中的加法类似,只是涉及的数字更大。我们可以将大数看作是一个数组,每一位对应一个数字,然后逐位进行加法运算,处理进位问题。如果两个大数长度不同,可以填充前导零使其对齐...
用C++写的重载的大数模板 大数加法、大数乘法、大数除法、大数减法 带有注释