大数价乘算法。
来源:互联网 发布:淘宝购买记录查询软件 编辑:程序博客网 时间:2024/04/28 16:25
阶乘函数(n!),随着n的增大,函数结果的增长速度很快,很容易就溢出了。下面我们自己定义一个大数阶乘函数。
其实原理很简单,就是我们小学时学过的乘法算式的原理。将结果存在一个数组里,数组的每一个元素为结果的一个十进位。用第一个大于0,小于等于n的自然数去重每一位。需要进位时,要注意进位。
这种方法不仅可以应用在阶乘方面,还可以应用于其它的大数运算过程当中。
1: static uint[] Factorial(uint n)
2: {
3: uint[] array = new uint[10000];
4: array[0] = 1;
5:
6: uint carry = 0;
7: uint digit = 1;
8: uint container;
9:
10: for (uint i = 2; i <= n; i++) {
11: carry = 0;
12: for (uint j = 0; j < digit; j++) {
13: container = array[j] * i + carry;
14: array[j] = container % 10;//当前位
15: carry = container / 10;//进位值
16: }
17: //更高位
18: if (carry != 0) {
19: array[digit++] = carry % 10;
20: }
21: }
22:
23: uint[] result = new uint[digit];
24:
25: Array.Copy(array, result, digit);
26:
27: return result;
28: }
- 大数价乘算法。
- 算法——大数乘大数
- 大数乘
- java大数算法完成五则运算之乘
- 数据结构课程设计*大数乘大数
- 高精度之大数乘大数
- 精度计算-大数乘大数
- zjut1217 大数乘
- 大数乘小数
- hdoj1042(N!,大数乘)
- 大数乘(正整数)
- 大数乘小数
- 大数(乘除法)
- HDU1133 大数乘小数 大数除小数
- 大数模板(大数乘小数)
- 大数A*B(大数乘) 浙江工业大学
- 大数乘小数核心代码
- 大数 加 减 乘 除
- 一种求和的创新思维的应用4(蝴蝶效应)
- 为了下载一个libstdc++.so.6.0.10 来这里注册成为了会员
- VS05 无法执行添加、移除操作 因为*****只读 升级版
- 思考 如何判断图存在环,存在环的数目,无向图,有向图
- android利用SAX解析xml(以解析谷歌天气预报xml预报为例)
- 大数价乘算法。
- 清空DB连接数
- Parallel SQL Execution并行SQL执行
- IE6_png_透明_(三种解决方法).txt
- HDU 3376 && HDU 2686 Matrix
- js做无刷新操作
- 几何空间
- 第83届奥斯卡金像奖完全获奖名单
- 产品设计体会什么是真正的产品经理