
大数运算
文章平均质量分 62
.
鸡冠花12138
这个作者很懒,什么都没留下…
展开
-
大数运算(1)——大数储存
int (16位) -32768~32767(注:现在大多数的编译器的int型是32位的 也就是说跟long型的大小一样)long long或__int64(64位) -9223372036854775808~9223372036854775807float(32位) 精确到小数点后6~7位 double (64位) 精确到小数点后15~16位(注:平时做题时 都把浮原创 2018-02-05 20:16:06 · 446 阅读 · 0 评论 -
大数运算(2)——大数加法
/*大数加法的中心思想就是:模拟人工列竖式算加法的方法。先从最低位开始相加,判断是否进1,一直到最高位。例如:求12545642233+278545的和,该怎么算?是这样的: 3 3 2 2 4 6 5 4 5 2 1 0+ 2 7 8 5 4 5 0 0 0 0 0 0———————————————— 5原创 2018-02-05 20:18:41 · 551 阅读 · 0 评论 -
大数运算(3)——大数减法
大数的减法与大数加法的方法有相似之处的,都是模拟人工运算的,从最低位开始运算,一直到最高位。其方法是:首先,要判断减数和被减数哪一个位数长,减数位数长是正常减;被减数位数长,则被减数减减数,最后还要加上负号;两数位数长度相等时,最好比较一下哪一个数字大,否则负号处理会很繁琐,用大的减去小的,最后加上负号;其次,处理每一项时要,如果前一位相减有借位,就先减去上一位的借位,无则原创 2018-02-05 20:20:11 · 8405 阅读 · 5 评论 -
大数运算(4)——大数乘法
首先说一下乘法计算的算法:同样是模拟人工计算时的方法。从低位向高位乘,在竖式计算中,我们是将乘数第一位与被乘数的每一位相乘,记录结果之后,用第二位相乘,记录结果并且左移一位,以此类推,直到计算完最后一位,再将各项结果相加,得出最后结果。计算的过程基本上和小学生列竖式做乘法相同。为编程方便,并不急于处理进位,而将进位问题留待最后统一处理。我们以125*53为例来说明计算过程:1、原创 2018-02-05 20:21:23 · 1169 阅读 · 3 评论 -
大数运算(5)——大数除法(取模、取余)
有关于大数除法的运算可以大致分为两种:一种是求商(取模),另一种是求余数(取余)。有两个大整数a和b,当a==b时,a/b==1,余数是0。(a!=0,b!=0) 当a>b时,a/b>=1,余数需要通过计算求得。 当a而我们原创 2018-02-05 20:22:33 · 12933 阅读 · 1 评论 -
大数运算(6)——大数阶乘(求位数)
对于求一个大数的阶乘的位数一般有两种方法:第一种:lg(N!)=[lg(N*(N-1)*(N-2)*......*3*2*1)]+1 =[lgN+lg(N-1)+lg(N-2)+......+lg3+lg2+lg1]+1用C语言实现:#include #include int main() { int n;原创 2018-02-05 20:23:56 · 661 阅读 · 0 评论 -
大数运算(7)——大数阶乘(求阶乘)
对于大数来说,一个数的阶乘是非常大的,同样,一个int类型的整数,他的阶乘就有可能会很大。就拿50来说,他的阶乘位数是65位,就已经远远超过了long long int类型的最大值。这时候,我们要通过字符串的方法,来进行阶乘的运算。当然,需要注意的是:我们所求一个数的阶乘,这个数是在int范围内的,5000的阶乘位数是16326位。其方法是:首先,我们是可以原创 2018-02-05 20:24:52 · 723 阅读 · 1 评论 -
大数运算(8)——大数幂运算
大数幂运算的实现有了前面的大数乘法算法做铺垫,就是调用乘法函数,来循环去自乘,幂指数相应减1,直到幂指数变为0时结束。下面是C语言代码实现:#include #include #define MAX 100 char str[MAX]; int pro[MAX*MAX];//位数分别为a,b的两个数相乘,其最大位数为a*b int num[MAX]; void原创 2018-02-05 20:25:50 · 2927 阅读 · 0 评论 -
大数模板~~~
关于一个大数阶乘的题目:用一个大佬的模板,大数也就这么一点的东西,懂了这个模板,大数也就可以完成。#include <iostream> #include <cstring> #include <cstdio> #include <cmath> using namespace std; #define MAXN 99...原创 2018-02-06 10:25:50 · 333 阅读 · 0 评论