码迷,mamicode.com
首页 > 其他好文 > 详细

172. Factorial Trailing Zeroes

时间:2017-10-22 11:00:08      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:log   div   lex   har   tps   add   exit   spec   factorial   

Given an integer n, return the number of trailing zeroes in n!.

Note: Your solution should be in logarithmic time complexity.

Credits:
Special thanks to @ts for adding this problem and creating all test cases.

 

Because all trailing 0 is from factors 5 * 2.

But sometimes one number may have several 5 factors, for example, 25 have two 5 factors, 125 have three 5 factors. In the n! operation, factors 2 is always ample. So we just count how many 5 factors in all number from 1 to n.

public int trailingZeroes(int n) {
        return n == 0 ? 0 : (n / 5 + trailingZeroes(n / 5));
    }

  

172. Factorial Trailing Zeroes

标签:log   div   lex   har   tps   add   exit   spec   factorial   

原文地址:http://www.cnblogs.com/apanda009/p/7707621.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!