码迷,mamicode.com
首页 > 其他好文 > 详细

给定一个整数 n,返回 n! 结果尾数中零的数量。

时间:2018-05-08 14:20:23      阅读:882      评论:0      收藏:0      [点我收藏+]

标签:OLE   split   solution   lse   trail   count   spl   int   bool   

示例 1:

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

示例 2:

输入: 5
输出: 1
解释: 5! = 120, 尾数中有 1 个零.

代码部分

class Solution {
    public int trailingZeroes(int n) {
        if (n < 5) {
            return 0;
        }
        int count = 0;
        int len = n / 5;
        for (int i = 1; i <= len; i++) {
            count = count + split(5 * i);
        }
        return count;
    }

    public static int split(int n) {
        if (n < 5) {
            return 0;
        }
        int len = 0;
        boolean flag = true;
        while (flag) {
            if (n / 5 < 5) {
                flag = false;
            }
            if (n / 5 % 5 == 0) {
                n = n / 5;
            }
            else {
                flag = false;
            }

            len++;
        }
        return len;
    }    
}

 

给定一个整数 n,返回 n! 结果尾数中零的数量。

标签:OLE   split   solution   lse   trail   count   spl   int   bool   

原文地址:https://www.cnblogs.com/davidwang456/p/9007581.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!