C++ 中查詢 n!尾隨零的程式?\n


假設我們有一個數 n,我們必須找出 n!的尾隨零數。

因此,如果輸入為 n = 20,那麼輸出將為 4,因為 20!= 2432902008176640000

為了解決這個問題,我們將遵循以下步驟

  • 設定計數:= 0

  • 對於 i:= 5,(n/i) > 1,更新 i:= i * 5,執行

    • 計數:= 計數 + (n /i)

  • 返回計數

讓我們看看以下實現以加深理解

示例

 Live Demo

#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);
}

輸入

20

輸出

Number of trailing zeros: 4

更新於:10-Nov-2020

151 次瀏覽

啟動您的職業

透過完成課程獲得認證

開始
廣告
© . All rights reserved.