2011年6月21日 星期二

d122: Oh! My Zero!!

內容 :
    階層運算是很令人頭疼的,因此我們要想方設法地把它簡化。

輸入說明 :
    輸入檔可能有大量的數據。
    每一个輸入檔輸入一个不算很大的數n(請用 longint)。

輸出說明 :
    輸出 n!的末尾零的个數。

範例輸入 :
1
2
10

範例輸出 :
0
0
2

提示 :
    1!=1 末尾有0个零;
    2!=2 末尾有0个零;
    10!=3628800 末尾有2个零。
    千萬别暴力,千萬别死算!!!!!!

程式碼:
#include <stdio.h>
#include <string.h>

int main() 
{
    long n,total;
    
    while(scanf("%ld",&n)==1)
    {
        total = 0;
        while(n > 4)
            total = total + (n=n/5);
        printf("%ld\n",total);
    }
    return 0;
}


http://zerojudge.tw/ShowProblem?problemid=d122

沒有留言:

張貼留言