侧边栏壁纸
博主头像
Hope博主等级

努力赚钱的工科研究生

  • 累计撰写 362 篇文章
  • 累计创建 129 个标签
  • 累计收到 5 条评论
标签搜索

LeetCode 172. 阶乘后的零

Hope
2022-03-06 / 0 评论 / 0 点赞 / 287 阅读 / 338 字
温馨提示:
本文最后更新于 2022-03-06,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

LeetCode 172. 阶乘后的零

思路:
每个10只能由 2 * 5 组成,所以统计2与5的个数中最小的个数就是答案。统计5的个数就是统计 5 52 53 ...5k ,1 + 2 + 3 + ... +k就是5的个数。因为在一个阶乘中,5 52 53 ...5k各贡献了一次,所以5的总次数就是每一种的个数加在一起。

例如 25! = 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11 * 12 * 13 * 14 * 15 * 16 * 17 * 18 * 19 * 20 * 21 * 22 * 23 * 24 * 25

这里面5贡献了5次 (5 10 15 20 25)
这里面25贡献了1次 (25)

一共 6 次

代码:

class Solution {
public:
    int trailingZeroes(int n) {
        return n < 5 ? 0 : trailingZeroes(n / 5) + n/5;
    }
};
0

评论区