LintCode 题目:尾部的零

mac2025-03-30  8

URL:https://www.lintcode.com/problem/trailing-zeros/

描述

设计一个算法,计算出n阶乘中尾部零的个数

样例

样例 1: 输入: 11 输出: 2 样例解释: 11! = 39916800, 结尾的0有2个。 样例 2: 输入: 5 输出: 1 样例解释: 5! = 120, 结尾的0有1个。

思路:

因为结尾处的每一个0就是数中10的个数,10=2*5,所以求出数中包含的5的个数即可(不能是2的个数,因为2这个质因子包含在其他的数之中)。

在代码段中添加:

long long temp = 5; long long count = 0; while(temp<=n){ count+=n/temp; temp*=5; } return count;

即可:

 

 

 

最新回复(0)