前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LeetCode_阶乘尾数中0的个数

LeetCode_阶乘尾数中0的个数

作者头像
烤红薯
发布2021-12-23 15:07:19
3300
发布2021-12-23 15:07:19
举报
文章被收录于专栏:烤红薯的学习笔记

LeetCode,随机一题。

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

题目解析:

主要问题为阶乘后的值过大,通过计算结果再判断变的不可行(LeetCode不支持BigInteger)

开始解答:

代码语言:javascript
复制

import org.junit.Test;


public class trailingZeroe{

    @Test
    public void test() {
        int countZero = trailingZeroes(20);
        System.out.println("countZero = " + countZero);
    }


    /**
     * 求整数n阶乘后尾数中0的个数
     * @param n 整数
     * @return 阶乘后 尾数中 0 的数量
     */
    int trailingZeroes(int n) {
       int count = 0;
        for (int i = n; i > 0; i--) {
            count += trailingZeroesGetCount(i);
        }
        return count;
    }
    
    int trailingZeroesGetCount(int n) {
        int count = 0;
        if (n % 5 == 0) {
            count++;
            if ((n / 5) % 5 == 0) {
                count += trailingZeroesGetCount(n / 5);
            }
        }
        return count;
    }
    


}

提交结果(仅仅是通过了)

500 / 500 个通过测试用例

状态:通过

执行用时: 7 ms

内存消耗: 35.2 MB

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 jackHarbor 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档