[LeetCode] Factorial Trailing Zeroe
来源:互联网 发布:方舟生存进化优化 编辑:程序博客网 时间:2024/06/05 00:12
Factorial Trailing Zeroes
Given an integer n, return the number of trailing zeroes in n!.
Note: Your solution should be in logarithmic time complexity.
解题思路:n!=2^x*3^y*5^z...,注意到一个2和一个5贡献一个末尾的0,因此只需计算min(x,z)即可。又因为n/2和n/5分别表示n!中的因子能被2和5整除的个数,n/2>=n/5,因此min(x, z)=z。我们只需要计算z即可。
如何计算z呢?n/5表示n!中被5整数的个数(贡献至少一个0), n/(5^2)表示被25整除的个数(贡献至少2个0)...,因此z的计算代码如下:
class Solution {public: int trailingZeroes(int n) { int ret = 0; while(n) { ret += n /= 5; } return ret; }};扩展思维:
曾经做过,30!的三进制表示中,末尾0的个数有多少个?注意到在三进制中,每逢三便给结果贡献一个0,因此0的个数为30/3+30/9+30/27=14。注意这里的除法是整数除法。
0 0
- [LeetCode] Factorial Trailing Zeroe
- [leetcode]Factorial Trailing Zeroes
- [LeetCode] Factorial Trailing Zeroes
- Leetcode Factorial Trailing Zeroes
- Leetcode: Factorial Trailing Zeroes
- 【Leetcode】Factorial Trailing Zeroes
- leetcode:Factorial Trailing Zeroes
- Leetcode: Factorial Trailing Zeroes
- Leetcode: Factorial Trailing Zeroes
- [leetcode] Factorial Trailing Zeroes
- [LeetCode]Factorial Trailing Zeroes
- [LeetCode] Factorial Trailing Zeroes
- *Leetcode-Factorial Trailing Zeroes
- LeetCode: Factorial Trailing Zeroes
- leetcode Factorial Trailing Zeroes
- leetcode Factorial Trailing Zeroes
- Leetcode: Factorial Trailing Zeroes
- [Leetcode]Factorial Trailing Zeroes
- 苹果6来了,都排队去抢!
- 基本数据类型及对象包装类
- jxl 设置excel 字体 背景色 合并单元格 列宽
- L#汉化者信息
- 95. PHP 名称解析规则
- [LeetCode] Factorial Trailing Zeroe
- 二十、Linux系统编程-管道(一)管道、匿名管道、管道读写规则
- C++获取本机MAC地址
- Project configuration is not up-to-date with pom.xml错误解决方法
- zoj 1242 Carbon Dating
- 黑马程度员——ios基础—— static 和 extern
- LRU Cach Java
- juery
- 防护栅栏模具的简单介绍