Java 算法编程 N阶乘最后总位数问题
来源:互联网 发布:淘宝页眉背景图素材 编辑:程序博客网 时间:2024/06/03 12:52
输入任意一个数字N(N>=1) 算出N的阶乘(N!)一共有多少位
比如输入10
10! = 3628800
10的阶乘是 3628800
位数为7
在比如输入25
25! = 15511210043330985984000000
一共有 26位
比如输入10
10! = 3628800
10的阶乘是 3628800
位数为7
在比如输入25
25! = 15511210043330985984000000
一共有 26位
注意不能把某个数的阶乘算出在统计位数
这里用到了 斯特林公式,来自斯特林公式
如果用斯提林公式两边取对数,
log10(n!) = log10(2*PI*n)/2+n*log10(n/E);
故n!的位数为 log10(2*PI*n)/2+n*log10(n/E)+1(注意:当n=1时,算得的结果为0)
另一种基本解法 思路
n的位数为[lg10(n)]+1
n!的位数为[lg10(n*(n-1)*(n-2)*…..*1)]+1=[lg10(n)+lg10(n-1)+lg10(n-2) +….+lg10(1)]+1
0 0
- Java 算法编程 N阶乘最后总位数问题
- IOS面试算法题(1)——N阶乘最后总位数的问题
- Java 算法编程 N阶乘末尾0的个数问题
- 【算法王道】n阶乘的位数
- n的阶乘的位数
- 阶乘位数问题
- java 素数算法, n的阶乘
- 关于N的阶乘(n!)的java算法实现
- 求N的阶乘的位数
- 求n的阶乘的位数
- HDOJ 1018 数学题(N阶乘位数)
- 算法入门-求1!+2!+...+n!和的最后6位数
- IOS算法面试题(2)——任意阶乘的最后0的个数、超大数相加集总
- n-1位数[java]
- 阶乘N!求结果的位数 n<10000
- 算法学习10146(计算阶乘的位数)
- 1!+2!+3!+...n!Java史上最简洁的阶乘算法!!!
- C语言编程:求n的阶乘问题。输入一个正整数n,输出n!
- Ganymed SSH-2 java执行远程linux机器命令工具
- First Missing Positive
- ARM7/9 的中断与 RTOS 系统
- Cocos2dx中添加分享
- HDOJ1789Doing Homework again(贪心)
- Java 算法编程 N阶乘最后总位数问题
- 机器学习实践中应避免的七种常见错误
- 【GDOI 2013模拟】屏保
- mysql 唯一索引
- leetcode_Count and Say
- 位运算
- HDU5363_____Key Set
- dfs Fire Net
- Use Notes of Modelsim (1)