首页 > 其他 > 详细

172. Factorial Trailing Zeroes

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

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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!