zoukankan      html  css  js  c++  java
  • 程序员面试金典-面试题 16.05. 阶乘尾数

    题目:

    设计一个算法,算出 n 阶乘有多少个尾随零。

    示例 1:

    输入: 3
    输出: 0
    解释: 3! = 6, 尾数中没有零。
    示例 2:

    输入: 5
    输出: 1
    解释: 5! = 120, 尾数中有 1 个零.
    说明: 你算法的时间复杂度应为 O(log n) 。

    分析:

    计算阶乘后0的个数实际上就是在数5,一个5和一个偶数相乘就会产生一个0,而25会产生两个0,所以对于n大于0时,数它的5有多少个,除以5,如果还大于0就继续除以5,也就是在数25有几个,反复执行下去。

    程序:

    class Solution {
        public int trailingZeroes(int n) {
            int res =  0;
            while(n > 0){
                res += n / 5;
                n /= 5;
            }
            return res;
        }
    }
  • 相关阅读:
    UIAlertView
    网络请求ASIhttp
    省份城市选择
    Certificates
    UTF8
    xcode增加注释插件
    常用片段 button Label
    开发铺助工具
    iOS UI框架
    iOS 引导页
  • 原文地址:https://www.cnblogs.com/silentteller/p/12491855.html
Copyright © 2011-2022 走看看