#4018. 统计n! 尾部零

题目出处:

http://www.51cpc.com/problem/4018html

题目描述

试统计正整数n的阶乘n!=1×2×3×…×n尾部连续零的个数。ide

输入格式

输入正整数nui

输出格式

输出个数spa

样例

Sample inputcode

2015

Sample Outputhtm

502

题目思路:

尾部零,就是看乘积中能组成10的个数有多少个,能够是1*十、2*5。咱们在前N个数中,可以拆分获得2的个数比5多,而后咱们只要看有多少个数能拆分获得5就好了,这样刚好就包含了1*10的状况。blog

这样这个问题就变成了前N个数中有多少个数能拆分获得5。get

也就是算前N个数中,是5的倍数的个数+是5*5的倍数的个数+是5*5*5的倍数的个数.....(以此类推)(5^x小于等于N)input

为了描述的更清楚,咱们能够在草稿纸上画一个1~N的坐标轴,每次圈出5的倍数的点(好比说五、十、15.......),再圈出5*5的倍数的点.......(以此类推)。io

这样,咱们发现5只划记了一次,25就划记了两次……恰好把每一个数出现的次数表示出来了。

代码:

#include <stdio.h>
int main()
{
    int n, s = 0, t = 1;
    scanf("%d", &n);

    while (t <= n)
    {
        t = t * 5;
        s = s + n / t;
    }

    printf("%d\n", s);

    return 0;
}
据说,点赞的人题题AC,快试试吧!

 

此题为分支,根部网址:  http://www.javashuo.com/article/p-maerkngw-ch.html   

相关文章
相关标签/搜索