zoukankan      html  css  js  c++  java
  • 2. 尾部的零

    2. 尾部的零 

     

    设计一个算法,计算出n阶乘中尾部零的个数

    样例

    11! = 39916800,因此应该返回 2

    class Solution {
    public:
        /*
         * @param n: A long integer
         * @return: An integer, denote the number of trailing zeros in n!
         */
        long long trailingZeros(long long n) {
                /*
                 * 思路很巧妙的一道题:阶乘后面出现0只有2*5或者是10才会出现
                 * 2出现的次数肯定大于5出现的次数
                 * 所以我们只要找到5的倍数出现的次数就好了
                 * 打比方我们传进来的的数是26 只有25 20 15 10 5 满足条件
                 * */
                long long count = 0;
                while (n > 0) {
                    count += (n / 5);
                    n /= 5;
                }
                return count;
        }
    };
    

      

  • 相关阅读:
    SDUSTOJ 1466
    UVa
    51Nod
    UVa
    easyui-启用禁用方法
    设置系统时间
    移除/添加属性
    .net生成二维码图片
    Mysql数据库误删恢复
    js 加减乘除运算
  • 原文地址:https://www.cnblogs.com/kanekiken/p/7986842.html
Copyright © 2011-2022 走看看