leetcode172 阶乘后的零

leetcode172

Posted by BY on September 17, 2018

前言

假装开学好好学习

正文

问题来源

本问题来自leetcode上的172题。

问题描述

给定一个整数 n,返回 n! 结果尾数中零的数量。

示例 1:

输入: 3
输出: 0
解释: 3! = 6, 尾数中没有零。

示例 2:

输入: 5
输出: 1
解释: 5! = 120, 尾数中有 1 个零.

分析:

阶乘后的0,即能被多少个10整除。而10的由其约数2和5相乘得到。在阶乘之积分解成质数乘积2的个数远远大于5个数。只需要求得分解成质数之积后,5的个数。 本人写的Go代码如下:

func trailingZeroes(n int) int {
	count := 0
	for 0 != n {
		n = n / 5
		count += n
	} 
	return count
}

总结:

日常水一水

结语

不管怎么样好好加油。