#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   

相關文章
相關標籤/搜索