- 浏览: 32691 次
最新评论
#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 779给出N个数字, 计算出最大的子段和。 Input 第一行给 ... -
最长不下降子序列长度
2012-01-05 13:55 1309对于序列(1, 7, 3, 5, 9, 4,,有它的一些不下降 ... -
求两字符串匹配的最长子序列
2012-01-05 13:52 1016如果两种特征序列的公共子序列越长表示越接近,现在请你帮助计算出 ... -
编辑距离问题
2012-01-05 13:48 658#include<iostream> #incl ... -
Kruskal最小生成树
2011-12-08 14:26 700#include<iostream> #inclu ... -
prime
2011-12-01 20:09 612#include<iostream> using ... -
哈弗曼编码
2011-11-28 10:43 1#include<iostream> #defi ... -
哈弗曼编码
2011-11-28 10:42 521#include<iostream> #defi ... -
#贪心算法(零件加工)
2011-10-27 13:25 981#include<stdio.h> #includ ... -
众数问题
2011-10-20 14:57 790#include <stdio.h> #inclu ... -
输油管道问题
2011-10-13 14:45 599#include <stdio.h> #inclu ... -
幂的精确求值
2011-09-22 15:07 461#include<iostream> using ... -
三姐妹之出题
2011-09-15 14:15 663#include<iostream> #incl ... -
最大子段和问题(分治)(##)
2011-09-08 21:31 665#include<stdio.h> #defin ... -
最大子段和问题(O(N^2))
2011-09-08 15:04 610#include<stdio.h> int a[ ... -
最大子段和问题(O(N^3))
2011-09-08 14:45 476#include<stdio.h> int a[ ...
相关推荐
C 语言实现的斐波那契数列(fibnacii),非递归方式。斐波拉契数列当输入值大于某个值时,基本的整形变量将无法保存其结果,因此本例使用字符串返回斐波拉契的结果,其中包括用字符串实现的大数加法。
acm大数加法的C语言实现,使用数组进行过程模拟,同时注意字符串中ASCII码的转换
大数加法程序 大数加法程序 大数加法程序 C,C++
实现大数加法与乘法运算,大数减法与除法再提供
★大数加法(C语言实现)★.pdf
本例子实现了大数的加法与乘法,感觉实现不错
大数加法的算法,实现长度从0--100000000000的加法
使用Java编写大数加法的程序,程序简单易懂,适合开发小白看
大数加法
主要为大家详细介绍了C++单链表实现大数加法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
高精度算法,包括大数加法,大数减法,大数乘法,大数除法,大数取余等高精度算法
用C++写的重载的大数模板 大数加法、大数乘法、大数除法、大数减法 带有注释
用C++在控制台上写的。首先用链表实现了大数阶乘,在这基础上只要提供这样的两个链表就可以实现大数加法。想实现大数的乘法,但是失败了……
WinCC中累加数据时默认数据例如Double或者int等类型不够使用时,可用此函数实现大数加法
C语言 实现大数加法,在加法运算的时候假如有两个10000位数的两个数进行相加,那么用int long double型都装不下这么多位数,所以采用char数组来实现加法运算,解决精度的问题
你还在为大数的加法烦恼吗,你还为大数浮点而伤感吗? 全新的大数浮点加法(当然肯定包含大数加法)
这是我的源程序,是大数加法的,希望有人可以给出更好的算法。这是我抛砖引玉的小作品啊。
高精度计算问题(大数加法、乘法、麦森数) 分析加代码
本程序是大数加法利用C语言来实现,很实用。