本文主要是介绍力扣面试150 阶乘后的零 数论 找规律 质因数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Problem: 172. 阶乘后的零
思路
👨🏫 大佬神解
- 一个数末尾有多少个
0
,取决于这个数 有多少个因子10
- 而
10
可以分解出质因子2
和5
- 而在阶乘种,
2
的倍数会比5
的倍数多,换而言之,每一个5
都会找到一个2
与之相配对成10
2
的倍数 2 4 6 8 10 …5
的倍数 5 10 …
复杂度
时间复杂度: O ( l o g 5 n ) O(log_5n) O(log5n)
空间复杂度: O ( 1 ) O(1) O(1)
Code
class Solution {public int trailingZeroes(int n) {int cnt = 0;while(n > 0){cnt += n/5;n = n/5;}return cnt;}
}
这篇关于力扣面试150 阶乘后的零 数论 找规律 质因数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!