首页 > 其他 > 详细

nefu 753 n!末尾有多少个0

时间:2016-01-15 12:49:44      阅读:136      评论:0      收藏:0      [点我收藏+]

Problem : 753

Time Limit : 1000ms

Memory Limit : 65536K

description

计算N!末尾有多少个0

input

输入数据有多组,每组1行,每行1个数N(10 <= N <=100000000)

output

在一行内输出N!末尾0的个数。

sample_input

10
100

sample_output

2
24

 举例分析一下公式~~摘自baidu

正好看过这个的算法,2*5=10,在一个数N中,因子2出现的次数总比5出现的次数多,比如说10!

零的个数可以由这样算出
10/5=2
2/5=0
0的个数就是2+0=2,再来个例子,2008
2008/5=401
401/5=80
80/5=16
16/5=3
0的个数就是401+80+16+3=500个零
嗯哼~~~
#include <iostream>
#include <math.h>
using namespace std;

int main()
{
    int n,sum;
    while(cin>>n)
    {
        sum=0;
        while(n)
        {
            n=n/5;
            sum+=n;
        }
        cout<<sum<<endl;
    }
    return 0;
}

 

nefu 753 n!末尾有多少个0

原文:http://www.cnblogs.com/nefu929831238/p/5132681.html

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