• Leetcode 172. Factorial Trailing Zeroes


    172. Factorial Trailing Zeroes

    Total Accepted: 63051 Total Submissions: 188884 Difficulty: Easy

    Given an integer n, return the number of trailing zeroes in n!.

    思路:统计n!中5的个数。但要注意5的次方数的存在。

    关于为什么特定数n,n!中2的个数要大于5的个数:n=2a=5b(a,b可以不为整数),显然a>b。

    第1次除以2,相当于筛除[1,n]中只含1个2的数;

    第2次除以2,相当于筛除[1,n]中只含2个2的数;

    第3次除以2,相当于筛除[1,n]中只含3个2的数;

    。。。。

    代码:

    方法一:

     1 class Solution {
     2 public:
     3     int trailingZeroes(int n) {
     4         int zeros=0;
     5         while(n){
     6             n/=5;
     7             zeros+=n;
     8         }
     9         return zeros;
    10     }
    11 };

    方法二:

    1 class Solution {
    2 public:
    3     int trailingZeroes(int n) {
    4         return n==0?0:n/5+trailingZeroes(n/5);
    5     }
    6 };
  • 相关阅读:
    jenkins for xcode
    时间你懂的,
    插件,
    basic ,token添加
    上火啊,替换字符串,HTML,
    shell
    不可深究啊,
    看着 自己都感觉 恶心的代码,
    Tab切换效果
    jar -- java文档归档工具
  • 原文地址:https://www.cnblogs.com/Deribs4/p/5624911.html
Copyright © 2020-2023  润新知