對乙個正整數n,求出n 中末尾0的個數。

2022-02-03 11:44:01 字數 738 閱讀 1540

對乙個正整數n,求出n!中末尾0的個數。

輸入輸入有若干行。每一行上有乙個整數t,是測試資料組數,接著有t行,每一行包含乙個確定的正整數n(n≤1000000000)。

輸出對輸入行中的每乙個資料n,輸出一行,其內容是n!中末尾0的個數。

輸入樣例                              輸出樣例

3                                     

3                                     0

100                                   24

1024                                  253      

下邊的**只是解法的核心部分。   

#include 

void main()

t=i;

while (t%5==0 && t!=1)

}sum = (two>five?five:two);

printf("

%i64d\n

",sum);

}

//今天看了《程式設計之美》,原來**可以如此簡單。。。還有一種更快的解法、也很巧妙

#include void

main()

}printf(

"%i64d\n

",five);

}

實現乙個整數N,其階乘N!末尾有多少個0?

給定乙個整數n,那麼n的階乘n!末尾有多少個0呢?例如 n 10,n!3 628 800,n!的末尾有兩個0。也許很多人首先想的就是先求出其階乘,然後通過其階乘判斷末尾有多少個0 我的第乙個想法也是如此 以下是我對於這個思想的 實現 void n of zero int n printf the s...

輸入乙個正整數n,輸出n 的值。

輸入乙個正整數 n nn 輸出 n n n 的值。其中n 1 2 3 nn 1 2 3 cdots n n 1 2 3 n演算法描述 n n n 可能很大,而計算機能表示的整數範圍有限,需要使用高精度計算的方法。使用乙個陣列 a aa 來表示乙個大整數 a aa a 0 a 0 a 0 表示 a a...

給定乙個整數N,那麼N的階乘N!末尾有多少個0呢?

題目詳情 給定乙個整數n,那麼n的階乘n!末尾有多少個0呢?例如 n 10,n!3 628 800,n!的末尾有兩個0。題目分析 看到題第一想法是將n的階乘求出來然後取計算,但是再一想又會出現資料溢位的問題。所以就想到了另外一種辦法。因為 n!1 2 3 4 5 n 所以我們可以採用分解質因數來解決...