首页 > 试题广场 >

求表达式 f(n)结果末尾0的个数

[编程题]求表达式 f(n)结果末尾0的个数
  • 热度指数:3038 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
输入一个自然数n,求表达式 f(n) = 1!2!3!.....n! 的结果末尾有几个连续的0?

输入描述:
自然数n


输出描述:
f(n)末尾连续的0的个数
示例1

输入

11

输出

9
求每个数的阶乘包含0的个数再加起来就行。每个数的阶乘包含0的个数可以参看相关题目的解法。
class MainActivity:

    def main(self):
        # Read the data
        n = int(input())
        # Initialization
        result = 0
        # Traverse
        for num in range(1, n + 1):
            cnt = 0
            base = 5
            while num // base:
                cnt += num // base
                base *= 5
            result += cnt
        print(result)


if __name__ == '__main__':
    M = MainActivity()
    M.main()
发表于 2024-09-02 15:14:03 回复(0)