阶乘尾部的0
来源:互联网 发布:sign在c语言中的意思 编辑:程序博客网 时间:2024/05/01 21:49
尾部的零
29%
通过
设计一个算法,计算出n阶乘中尾部零的个数
样例
11! = 39916800,因此应该返回 2
挑战
O(logN)的时间复杂度
---------------------------------------------------------------------------------------------------------------------------------------------------------
解题思路:
尾部的0的个数即10的几次幂。10=2*5。所以0的个数等于求(2*5)的几次幂。因为在阶乘中出现一个5,最少出现两个2(2和4=2*2)。
所以我们只需要看阶乘中5出现的次数。注意有的是多个5出现:25=5*5 50=2*5*5
例如11! 共出现了11/5=2个5
100!共出现了100/5=20个5.但是这20个5是 5*1 5*2 5*3 ......5*20 ,这1-20中5出现了20/5=4 次5。所以100的阶乘共出现了24个5
------------------------------------------------------------------------------------------------------------------------------------------------------------------
实现(c++):
long long zero(long long num){ long long count=0; long long tmp=num/5; while(tmp>0) { count+=tmp; tmp/=5; } return count;}
0 0
- 阶乘尾部的0
- 阶乘尾部0的个数
- 尾部的0(n的阶乘的尾部0的个数)
- 求1000的阶乘结果尾部0的个数
- 求1000的阶乘结果尾部0的个数
- 求1000的阶乘结果尾部0的个数
- 某个数的阶乘尾部含有0的数
- 求1000阶乘的结果尾部0的个数
- 求1000的阶乘尾部0的个数
- java 求n的阶乘尾部0的个数
- 求1000的阶乘尾部0的个数
- 【LeetCode】Factorial Trailing Zeroes 阶乘尾部0的个数
- 计算n阶乘中尾部0的个数
- 阶乘尾部包含n个0的最小数字
- 阶乘的尾部有多少个零?
- 阶乘结果换算进制后得到数字的尾部有几个0
- 尾部的零,计算出n阶乘中尾部零的个数
- 计算n阶乘中尾部零的个数
- lua - 表
- Foundation框架提供的一些基本对象的用法之字符串对象
- 264 国王的魔镜
- iBook文件的导出
- Lua面向对象
- 阶乘尾部的0
- operator new和operator new[]区别?
- 原来程序员也有不靠谱的,这年头竟然it界也开始骗子横行了
- 不要拿来就用
- cmake用cotire设置gcc的预编译头
- linux下函数调用栈Backtraces函数
- Codeforces 549 H. Degenerate Matrix
- maven 第一个maven项目(手动方式搭建maven环境)
- 应该以什么样的态度写博客