【题目描述】
O(log N) time
Write an algorithm which computes the number of trailing zeros in n factorial.
Example
11! = 39916800, so the out should be 2
【题目大意】
设计一个算法,计算出n阶乘中尾部零的个数
【本题答案】
package blog; /** * @author yesr * @create 2018-03-14 下午10:44 * @desc **/ public class Test0314 { /* * param n: As desciption return: An integer, denote the number of trailing * zeros in n! */ public long trailingZeros(long n) { // write your code here long count = 0; long temp=n/5; while (temp!=0) { count+=temp; temp/=5; } return count; } }
本文介绍了一种高效算法,用于计算n阶乘结果中尾部零的数量。该算法采用除以5累加的方式,时间复杂度为O(logN),适用于快速解决相关问题。
264

被折叠的 条评论
为什么被折叠?



