C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C ++のnの階乗で後続ゼロを見つけるプログラム?


数nがあるとすると、nの後続ゼロの数を見つける必要があります!。

したがって、入力がn =20の場合、出力は4、つまり20になります。 =2432902008176640000

これを解決するために、次の手順に従います

  • セットカウント:=0

  • for i:=5、(n / i)> 1、update i:=i * 5、do

    • count:=count +(n / i)

  • 返品数

理解を深めるために、次の実装を見てみましょう

#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

  1. GCDを見つけるためのC++プログラム

    2つの数値の最大公約数(GCD)は、両方を除算する最大の数値です。 例:45と27の2つの数字があるとします。 45 = 5 * 3 * 3 27 = 3 * 3 * 3 したがって、45と27のGCDは9です。 2つの数値のGCDを見つけるプログラムは次のとおりです。 例 #include <iostream> using namespace std; int gcd(int a, int b) {    if (b == 0)    return a;    return gcd(b, a % b); } int

  2. 階乗を見つけるためのC++プログラム

    非負の整数nの階乗は、n以下のすべての正の整数の積です。 例:5の階乗は120です。 5! = 5 * 4 * 3 * 2 *1 5! = 120 整数の階乗は、再帰プログラムまたは非再帰プログラムを使用して見つけることができます。これらの両方の例を以下に示します。 非再帰プログラムを使用した階乗 forループを使用して、数値の階乗を見つけることができます。これは、次のプログラムを使用して示されます- 例 #include <iostream> using namespace std; int main() {    int n = 5, fact = 1