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

《Cracking the Coding Interview》——第17章:普通题——题目3

时间:2014-04-29 17:45:30      阅读:365      评论:0      收藏:0      [点我收藏+]

标签:com   http   class   blog   style   div   img   code   java   javascript   log   

2014-04-28 22:18

题目:计算N的阶乘尾巴上有多少个零?

解法:计算5的个数即可,因为2 * 5 = 10,2的个数肯定比5多。计算5的个数可以在对数时间内搞定。

代码:

bubuko.com,布布扣
 1 // 17.3 Count how many zeros are there in n!?
 2 // Count the number of 5s in n!.
 3 #include <cstdio>
 4 using namespace std;
 5 
 6 int countZero(int n)
 7 {
 8     int res = 0;
 9     
10     while (n > 0) {
11         res += n / 5;
12         n /= 5;
13     }
14     
15     return res;
16 }
17 
18 int main()
19 {
20     int n;
21     
22     
23     while (scanf("%d", &n) == 1) {
24         printf("%d\n", countZero(n));
25     }
26     
27     return 0;
28 }
bubuko.com,布布扣

 

《Cracking the Coding Interview》——第17章:普通题——题目3,布布扣,bubuko.com

《Cracking the Coding Interview》——第17章:普通题——题目3

标签:com   http   class   blog   style   div   img   code   java   javascript   log   

原文地址:http://www.cnblogs.com/zhuli19901106/p/3698084.html

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