1. 程式人生 > >C語言(29)階乘尾數零的個數

C語言(29)階乘尾數零的個數

輸入一個正整數n,求n!(即階乘)末尾有多少個0? 比如: n = 10; n! = 3628800,所以答案為2 

輸入描述:

輸入為一行,n(1 ≤ n ≤ 1000)

輸出描述:

輸出一個整數,即題目所求

輸入例子1:

10

輸出例子1:

2
#include <stdio.h> /* n!階乘末尾後的零的個數 */ /* 得到尾數為零的情況只可能是2*5, 為2的因子充足,所以只需要看5的個數 */ /* 25*/ int main(int argc, char **argv) { int n,i,s,m; scanf("%d", &n); s=0; for(i=5; i<=n; i += 5){ m=i; while(m%5 == 0){ m /= 5; s++; } } printf("%d\n", s); return 0; }