阶乘末尾零的个数
来源:互联网 发布:唐氏筛查计算软件下载 编辑:程序博客网 时间:2024/04/29 08:55
题目描述
请设计一个算法,计算n的阶乘有多少个尾随零。
给定一个int n,请返回n的阶乘的尾零个数。保证n为正整数。
测试样例:
5
返回:1
思路:对N!进行质因数分解,N!=2的X次方*3的Y次方*5的Z次方*.....因为10=2*5,所以末尾零的个数只与X和Z相关,每一对2和5相乘可以得到一个10,因为X大于等于Z,所以只要求出Z的值即可。
代码:
class Factor {public: int getFactorSuffixZero(int n) { // write code here int result=0; int j; for(int i=1;i<=n;i++){ j=i; while(j%5==0){ result++; j=j/5; } } return result; }};
更简便的,找出1-n之间5的倍数的数的个数,即直接数一数5有几个5的倍数,有几个25的倍数...依次类推,注意:【N/k】等于1,2,3,...,N中能被k整除的数的个数。
class Factor {public: int getFactorSuffixZero(int n) { // write code here int result=0; for(int i=5;n/i>0;i*=5) result+=n/i; return result; }};
0 0
- 阶乘末尾零的个数
- n的阶乘末尾零的个数
- ACM-大数阶乘末尾零的个数
- ACM-大数阶乘末尾零的个数
- 阶乘末尾的零
- n的阶乘(n!)末尾零(0)的个数
- 阶乘算法全集,阶乘末尾非零位,阶末尾零的个数(转)
- 阶乘算法全集,阶乘末尾非零位,阶末尾零的个数(转)
- 阶乘算法全集,阶乘末尾非零位,阶末尾零的个数(转)
- 阶乘算法全集,阶乘末尾非零位,阶末尾零的个数(转)
- 阶乘算法全集,阶乘末尾非零位,阶末尾零的个数
- 阶乘末尾0的个数
- 阶乘末尾 0 的个数
- 阶乘末尾0的个数
- 100!末尾零的个数
- 求n的阶乘结果末尾含零的个数--记一次华为技术交流面试
- POJ 1401 && ZOJ 2202 Factorial 阶乘N!的末尾零的个数
- n的阶乘末尾0的个数
- 深入解读JavaScript面向对象编程
- 关于μ和φ关系
- Echart使用
- LeetCode-292 Nim Game
- JSP基础知识框架
- 阶乘末尾零的个数
- 手机开发实战164——音频介绍1
- GET和POST的区别
- HTML5 LocalStorage 本地存储
- 手机开发实战165——音频介绍2
- 从实战角度,对TCP的“三次握手”过程详细分析
- 手机开发实战166——音频介绍3
- 自定义progressbar
- LeetCode:Search for a Range