首页 > 试题广场 >

阶乘末尾0的数量

[编程题]阶乘末尾0的数量
  • 热度指数:11762 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个非负整数 n ,返回 n! 结果的末尾为 0 的数量。

n! 是指自然数 n! 的阶乘,即 : 
特殊的,  0 的阶乘是 1 。

数据范围: 
进阶:空间复杂度 ,时间复杂度
复杂度要求:
不大于
示例1

输入

3

输出

0

说明

3!=6     
示例2

输入

5

输出

1

说明

5!=120    
示例3

输入

1000000000

输出

249999998
package main

/**
 * the number of 0
 * @param n long长整型 the number
 * @return long长整型
*/
func thenumberof0( n int64 ) int64 {
    var res, i int64 = 0, 5
    for i <= n {
        res += n / i
        i *= 5
    }
    return res
}
发表于 2021-08-14 11:14:51 回复(0)
package main

/**
 * the number of 0
 * @param n long长整型 the number
 * @return long长整型
*/
func thenumberof0( n int64 ) int64 {
    // write code here
    var res int64
    res = 0
    for n > 0 {
        n /= 5
        res += n
    }
    return res
}

发表于 2021-07-17 16:57:41 回复(0)

问题信息

难度:
2条回答 3290浏览

热门推荐

通过挑战的用户

查看代码
阶乘末尾0的数量