2016! 的结果有多少个0的求解方法
2017-03-27 12:17
106 查看
前天在做网易笔试题时碰到一道求2016的阶乘有多少个零的选择题,一时被难住了,后来不甘心,就认认真真思考了一番,终于找到了一种很简单的解法。
求N的阶乘后有多少个零的解法如下:
(1)原理说明:5和一个偶数(不考虑偶数0)相乘即可得到一个结果为10的倍数的数值,也就是说,产生了零。在1~ N 中找5,有 多少个5,就有多少个零。
例如,15 = 5 * 3 ,即15有一个·5 ;20 = 5 * 4 ,即20有一个·5;
25 = 5 * 5 ,即25有两个5 ;100 = 5 * 5 * 4 ,即100有两个5 ;
125 = 5 * 5 * 5 ,即125有三个5 ;625 = 5 * 5 * 5 * 5 ,即625有四个5
(2)设5的 x 次方等于m,找到不大于数值N的那个最大的m值,也就确定了x和集合{1,2,3,.......,x}
(3)N 除以 (5的一次方),结果取整,假设为 a1
N 除以 (5的二次方),结果取整,假设为 a2
N 除以 (5的三次方),结果取整,假设为 a3
类似地,直到
N 除以 (5的 x 次方),结果取整,假设为 aX,
则最后的结果为 (a1 + a2 + a3 + ..... + aX) 个零。
下面以2016的阶乘有多少个零 为例:
(1)5的四次方等于 625 <2016 , 5的五次方等于 3125 > 2016
(2)5 1 ~ 2016 中 是5 的倍数的数 有 403 个 (5 * 2 = 10)
25 = 5 * 5 1 ~ 2016 中 是25 的倍数的数 有80 个 (25 * 4 = 100)
125 = 5 * 5 * 51 ~ 2016 中 是125 的倍数的数 有16个
(125 * 8 = 1000)
625 = 5 * 5 * 5 * 5 1 ~ 2016 中 是625 的倍数的数 有3个
(625 * 16 = 10000)
(3)最后的结果为 : 403 + 80 + 16 + 3 = 502 (个)
求N的阶乘后有多少个零的解法如下:
(1)原理说明:5和一个偶数(不考虑偶数0)相乘即可得到一个结果为10的倍数的数值,也就是说,产生了零。在1~ N 中找5,有 多少个5,就有多少个零。
例如,15 = 5 * 3 ,即15有一个·5 ;20 = 5 * 4 ,即20有一个·5;
25 = 5 * 5 ,即25有两个5 ;100 = 5 * 5 * 4 ,即100有两个5 ;
125 = 5 * 5 * 5 ,即125有三个5 ;625 = 5 * 5 * 5 * 5 ,即625有四个5
(2)设5的 x 次方等于m,找到不大于数值N的那个最大的m值,也就确定了x和集合{1,2,3,.......,x}
(3)N 除以 (5的一次方),结果取整,假设为 a1
N 除以 (5的二次方),结果取整,假设为 a2
N 除以 (5的三次方),结果取整,假设为 a3
类似地,直到
N 除以 (5的 x 次方),结果取整,假设为 aX,
则最后的结果为 (a1 + a2 + a3 + ..... + aX) 个零。
下面以2016的阶乘有多少个零 为例:
(1)5的四次方等于 625 <2016 , 5的五次方等于 3125 > 2016
(2)5 1 ~ 2016 中 是5 的倍数的数 有 403 个 (5 * 2 = 10)
25 = 5 * 5 1 ~ 2016 中 是25 的倍数的数 有80 个 (25 * 4 = 100)
125 = 5 * 5 * 51 ~ 2016 中 是125 的倍数的数 有16个
(125 * 8 = 1000)
625 = 5 * 5 * 5 * 5 1 ~ 2016 中 是625 的倍数的数 有3个
(625 * 16 = 10000)
(3)最后的结果为 : 403 + 80 + 16 + 3 = 502 (个)
相关文章推荐
- [LeetCode-204] Count Primes(0~n 有多少个质数—4种方法求解)
- 用递归方法求解:一只母兔从四岁开始每年生一只小母兔,按此规律,第n年时有多少只母兔?
- 线性规划问题求解的几种可能结果及判定方法
- 对查询结果进行分页的方法
- 在框架中尽量使用返回值的方法传递结果
- 求解素数几种方法
- 一元的硬币分成1分,2分,5分的方法有多少种???
- jsp存取mysql中文数据结果为乱码的解决方法(转自自己以前的blog)
- 将查询结果导出到Excel的另一个方法(转帖)
- Hibernate Native SQL查询常用的2种方法及对返回结果处理
- 计算两个日期之间有多少个工作日的方法(同理也可以计算有多少个双休日)
- .net调用别人的http页面,返回结果,url中有中文的处理,get和post两种方法
- 服务端返回操作结果消息的方法
- 判断是否存在在父结果集中有而在子结果集中没有的记录的最佳方法
- Jsp中导出查询结果到excel文件的简单方法
- 将查询结果注入到DataSet中使用哪个方法?
- 一个页面中用Get方法到底可以发送多少字节的数据呢?
- 汉偌塔问题求解方法
- 郁闷的事情郁闷的解决方法郁闷的结果
- 200的阶乘即200!是多少?一个简陋的大数加、乘方法