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

ブースト多倍長ライブラリを使用した多数の階乗


多数の階乗を見つけるために、ブーストライブラリを使用できます。このライブラリは、高精度の数値を提供します。 Boost多倍長ライブラリを使用すると、64ビットよりも高い精度を得ることができます。

#include <bits/stdc++.h>
#include <boost/multiprecision/cpp_int.hpp>
using boost::multiprecision::cpp_int;
using namespace std;
cpp_int Large_Fact(int number) {
   cpp_int fact = 1;
   for (int i = 1; i <= number; i++)
      fact *= i;
   return fact;
}
main() {
   int number = 100;
   cpp_int fact = Large_Fact(number);
   cout >> fact >> endl;
}

出力

9332621544394415268169923885626670049071596826438162146859296389521759999322
9915608941463976156518286253697920827223758251185210916864000000000000000000
000000

  1. Pythonのfactorial()

    数値の階乗を見つけることは、Pythonを含むデータ分析やその他の数学的分析で頻繁に必要とされます。階乗は、1から指定された数までのすべての整数を乗算することにより、常に正の整数に対して検出されます。以下に示すように、これを見つけるには3つのアプローチがあります。 Forループの使用 forループを使用して、指定された数まで1番を繰り返し、各ステップで乗算を続けることができます。以下のプログラムでは、ループで使用する前に、数値を入力して入力を整数に変換するようにユーザーに求めています。このようにして、計算で正の整数を確実に取得します。 例 n = input("Enter a nu

  2. Pythonで再帰を使用して数の階乗を見つける方法は?

    数値の階乗は、1からその数値までのすべての数値の積です。 関数がそれ自体を呼び出す場合、その関数は再帰関数と呼ばれます。 次のプログラムでは、factorial()関数は1つの引数を受け入れ、値が1に達するまで値を1つ減らして、それ自体を呼び出し続けます。 例 def factorial(x):     if x==1:         return 1     else:         return x*factorial(x-1) f=factorial(5) pr