ホームページ >バックエンド開発 >C++ >数値の階乗内の末尾のゼロの数を計算するための C/C++ プログラミング?

数値の階乗内の末尾のゼロの数を計算するための C/C++ プログラミング?

PHPz
PHPz転載
2023-09-20 22:05:091416ブラウズ

数値の階乗内の末尾のゼロの数を計算するための C/C++ プログラミング?

階乗数の末尾のゼロの数を計算するには、その数値の因数に含まれる 2 と 5 の数を数えます。 2*5 は 10 に等しく、10 は階乗数の最後のゼロであるためです。

7=5040の階乗、末尾の0の数は1です。

このロジックによれば、7!=2*3*4*5*6*7 となり、2 が 3 つと 5 が 1 つあるため、最後の 0 の数は 1 になります。

#include <iostream>
using namespace std;
int main() {
   int n = 45;
   int count = 0;
   for (int i = 5; n / i >= 1; i *= 5)
      count += n / i;
   cout<<"No of trailing 0s in " << n<< "! is " << count;
   return 0;
}

出力

No of trailing 0s in 24! is 10

以上が数値の階乗内の末尾のゼロの数を計算するための C/C++ プログラミング?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。