阶乘末尾的零
2016-05-03 09:34
323 查看
题目:给一个整数N,求它的阶乘N!,有几个0结尾
方法一
要计算Z,最直接的方法就是求出N的阶乘的所有因式(1,2,3,...,N)分解中5的指数。然后求和。
方法二:
Z = N/5 + N /(5*5) + N/(5*5*5).....知道N/(5的K次方)等于0
公式中 N/5表示不大于N的数中能被5整除的数贡献一个5,N/(5*5)表示不大于N的数中能被25整除的数再共享一个5.......
方法一
要计算Z,最直接的方法就是求出N的阶乘的所有因式(1,2,3,...,N)分解中5的指数。然后求和。
int fun1(int n) { int num = 0; int i,j; for (i = 5;i <= n;i += 5){ j = i; while (j % 5 == 0){ ++num; j /= 5; } } return num; }
方法二:
Z = N/5 + N /(5*5) + N/(5*5*5).....知道N/(5的K次方)等于0
公式中 N/5表示不大于N的数中能被5整除的数贡献一个5,N/(5*5)表示不大于N的数中能被25整除的数再共享一个5.......
int fun2(int n) { int num = 0; while(n){ num += n / 5; n /= 5; } return num; }
相关文章推荐
- JS实现判断滚动条滚到页面底部并执行事件的方法
- Java遗忘笔记(1)
- 分享一个很酷很炫的html5特效网站源码
- Try、catch和finally
- nyoj 16 矩形嵌套(DAG上的dp)
- spring mvc 项目配置
- thinkpad alert键一直处于按着的状态
- 如何做成牛x,简历吸引人,月薪3万,程序员的品牌
- Cannot switch on a value of type String for source level below 1.7. Only convertible int values or enum variables are permitted
- Sping--自动装配(byname, bytype)
- Cocos2d - Action学习总结
- AAR文件转JAR文件的方法
- NYOJ 116 士兵杀敌(二)
- 发挥GPU强大动力的CG语言
- hibernate联合主键生成机制(annotation方式)
- JS自定义data-*属性与jquery的data()方法的使用
- 数据结构--数组和ArrayList
- 【Xibo】更换CMS内关于Xibo的标识
- jsp include中文乱码问题解决方案
- dubbo-admin-2.5.3 运行报错: Bean property 'URIType' is not writable or has an invalid,uritypewritable