首頁 >後端開發 >C++ >C/C++程式用來計算一個數的階乘中的尾隨零​​的數量

C/C++程式用來計算一個數的階乘中的尾隨零​​的數量

WBOY
WBOY轉載
2023-08-29 12:29:051478瀏覽

這裡我們將了解如何計算任意數字的階乘結果中尾隨 0 的數量。因此,如果 n = 5,則 5! = 120。只有一個尾隨 0。對於 20!,它將是 4 個零作為 20! = 2432902008176640000。

最簡單的方法就是計算階乘並計算 0。但對於較大的 n 值,這種方法會失敗。所以我們將採用另一種方​​法。如果質因數是 2 和 5,那麼尾隨零就會出現。如果我們計算 2 和 5,我們就可以得到結果。為此,我們將遵循此規則。

尾隨0 = 階乘(n) 素因數中5 的計數

C/C++程式用來計算一個數的階乘中的尾隨零​​的數量

演算法

countTrailingZeros(n)

begin
   count := 0
   for i := 5, (n/i) >= 1, increase i := i * 5, do
      count := count + (n / i)
   done
   return count;
end

Example

的中文翻譯為:

範例

#include <iostream>
#include <cmath>
#define MAX 20
using namespace std;
int countTrailingZeros(int n) {
   int count = 0;
   for (int i = 5; n / i >= 1; i *= 5)
      count += n / i;
   return count;
}
main() {
   int n = 20;
   cout << "Number of trailing zeros: " << countTrailingZeros(n);
}

輸出

Number of trailing zeros: 4

以上是C/C++程式用來計算一個數的階乘中的尾隨零​​的數量的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除