階層運算是很令人頭疼的,因此我們要想方設法地把它簡化。
輸入說明 :
輸入檔可能有大量的數據。
每一个輸入檔輸入一个不算很大的數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
沒有留言:
張貼留言