本文主要整理了几个常用的大整数的算法:大整数加法大整数乘法大整数阶乘大整数幂其实大体的思路都差不多,都是用数组来存储大整数。以下的代码仅仅实现功能,并没有充分详细的参数判断,在实际运用中,肯定是需要考虑的。 大整数相加 大整数相乘 大整数阶乘 大整数幂 ...
分类:
编程语言 时间:
2016-04-09 18:44:45
阅读次数:
284
思路: 思路比较简单,将大数据的每位进行加法,记录进位即可。需要注意的是,两个数据中较长的一个需要另外单独处理多出的部分,在程序最后还要加上最高位的进位。 代码: ...
分类:
编程语言 时间:
2016-03-26 12:28:53
阅读次数:
166
注意这里是整数,浮点数需要额外的操作,实现大整数的加减,三个栈就OK了,两个运算整数栈,一个结果栈,基本的逻辑的就是利用栈的先入后出的特点将高位push到栈底,低位push到栈顶,之后两个栈pop出来之后push到结果栈,结果栈pop出来就是我们想要的结果。看起来还不错,如果有兴趣就看下面的代码,代...
分类:
编程语言 时间:
2015-06-11 19:18:47
阅读次数:
150
这是一道很标准的大整数加法,我却wa了4次,没提交一次就查到一些细节问题,比如说我们考虑前导
0的问题,还有就是没有对输入数组处理, 使得他们每次输入时高位的置0,还有就是没考虑到最后相加后的进位,
这些问题一一改正之后,还是wa了,原来是因为,我把if语句中的==只写了一个。。。真坑啊,,,我就说怎么会
不过,明明写的对的,大数相加竟然还wa了四次,还有就是这道题最后不写换行也会wa。。。...
分类:
其他好文 时间:
2015-05-26 09:19:36
阅读次数:
205
问题描述求两个不超过 200 位的非负整数的和。
输入数据
有两行,每行是一个不超过 200 位的非负整数,没有多余的前导 0。
输出要求
一行,即相加后的结果。结果里不能有多余的前导 0,即如果结果是 342,那么就不能
输出为 0342。输入样例
22222222222222222222
33333333333333333333
输出样例
Output Sample:
555...
分类:
其他好文 时间:
2015-05-04 12:01:52
阅读次数:
126
题目大意:
定义fibonacci数列前两项f[1] = 1,f[2] = 2。现在给你一个区间[a,b],a <= b <= 10^100。
问:区间[a,b]之间有多少个fibonacci数。
思路:
a、b的规模很大,是个100位10进制的数。所以要用数组模拟大整数加法求fibonacci数列。用整型
二维数组F[i][]表示第i个fibonacci数,因为从个位倒着存入数组方便进位,所以F[i][]数组中的数是倒
着的。第480个fibonacci数是101位,先求出前480个fibonacci数...
分类:
其他好文 时间:
2015-04-18 10:04:34
阅读次数:
177
http://acm.hdu.edu.cn/showproblem.php?pid=1002输入的数都是正整数,比较好处理,注意进位。//非负大整数加法# include # include # define MAX 1100int main(){ int t; char Num1[MAX], Nu...
分类:
其他好文 时间:
2015-02-20 17:25:58
阅读次数:
270
原题地址想当年初学C++的时候写个大整数加法都快屎了,现在觉得自己还是成长了不少哇。代码: 1 string multiply(string num1, string num2) { 2 int len1 = num1.length(); 3 int len2 = n...
分类:
其他好文 时间:
2015-01-27 07:02:41
阅读次数:
155
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1002题目意思:就是大整数加法。 两年几前做的,纯粹是整理下来的。 1 #include 2 #include 3 4 #define max 1010 5 char a[max], b[ma...
分类:
其他好文 时间:
2015-01-02 22:24:56
阅读次数:
223