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

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

WBOY
發布: 2023-08-29 12:29:05
轉載
1491 人瀏覽過

這裡我們將了解如何計算任意數字的階乘結果中尾隨 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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板