Pythonで階乗を見つける方法[コーディング例を使用]
公開: 2020-11-30目次
序章
私たち全員が、数学の科目で小学校で階乗という言葉を紹介されたので、階乗という言葉に精通している必要があります。 階乗は、1から指定された数までのすべての正の整数の積です。 階乗は正の値に対してのみ計算され、負およびフロートタイプに対しては計算できません。
線形代数、確率、統計などのすべての数学コンポーネントの重要性を理解できたので、データサイエンスのおかげで、階乗やその他の数学の概念を実際の生活のどこで使用するのか疑問に思いました。
この記事では、Pythonを使用して階乗を計算するさまざまな方法の重要性を見てみましょう。
重要性
世界のレースイベントで10台の車の間でレースが行われ、それらの10台の車が最初、2番目、3番目に来る方法がいくつあるかを調べるための問題ステートメントがあるとします。 車は10台しかないので、紙を持って色々な組み合わせを書き留めておきたいと思います。 しかし、100台以上の車があり、その中に同じまたは同様の種類の問題ステートメントがある場合はどうなるでしょうか。
このような状況に対処するために、順列と呼ばれるものがあります。 私たちの小学校では、この用語を順列と組み合わせとしてご存知だと思います。 これらは、データ分析と統計のスキルを向上させたい場合に非常に必要です。 初心者でデータサイエンスについて詳しく知りたい場合は、一流大学のデータサイエンスコースをご覧ください。 これは、以下に示すように問題ステートメントを解決するのに役立ちます。
解決
全部で10台あります。
10人中3人の勝者の可能性を見つける必要があります。
10! /(10-3)! = 10! / 7! = 720
したがって、これらの10台の車がレースイベントで1位、2位、3位になる可能性は合計720あります。
Pythonの実装
Pythonは、コードの読みやすさに重点を置いた高水準の解釈型汎用プログラミング言語であり、Python言語で使用される構文は、プログラマーがJavaやC ++と比較して少ないステップでコーディングを完了するのに役立ち、C上に構築されています。
この言語は、開発者のGuidoVanRossumによって1991年に設立されました。 Pythonは、主にコンピュータビジョン、自然言語処理、深層学習、音声認識、顔認識、音声認識などのさまざまな人工知能のユースケースで使用されるため、大規模な組織で広く使用されています。
Pythonは非常に強力なプログラミングツールであり、実際のさまざまなユースケースで使用できます。 これは、コードを明示的に記述せずに、指定された数値の階乗を計算できる直接関数を提供します。 しかし、素朴なアプローチから始めて、最後にその機能について理解しましょう。
また読む:なぜPythonは開発者にとても人気があるのですか?
Forループ
各ステップで乗算することにより、数値1から指定された数値まで反復することにより、数値の階乗を計算できます。 上記のアプローチのコーディング部分に飛び込みましょう。
コード
number = input(“ Enter a Number:”)#理想的には、任意の印刷メッセージを使用できます
階乗=1
if int(number)> = 1:#指定された数値が正であるかどうかを確認します。
for i in range(1、int(number)+1):#番号1からループ
factorial = factorial * I#各数値の乗算。
print(“ Factorial of“、number、” is:“、factorial)#計算された階乗を出力します。
出力
上記のコードを実行すると、以下の出力が得られます。
数字を入力してください:5
5の階乗は:120
再帰関数
この場合、Pythonで独自のユーザー定義関数を作成します。これは、指定された数値の階乗を計算するのに役立ちます。

コード
数値=入力(「数値を入力してください:」)
def recursive_factorial(number):#ユーザー定義の再帰関数。
if number == 1:#指定された数値が1に等しい場合の条件
返品番号
elif number <1:#指定された数値が1未満の場合の条件
return(「指定された数は1未満であり、階乗を計算できません。」)
そうしないと:
戻り値*recursive_factorial(number – 1)
print(recursive_factorial(int(number)))
出力
上記のコードを実行すると、以下の出力が得られます。
数字を入力してください:5
120
数値を入力してください:-2
指定された数が1未満であり、階乗を計算できません
数字を入力してください:1
1
数学パッケージの階乗関数
Pythonは、その使いやすさと、多くのタスクを簡素化するユーザーフレンドリーなサードパーティパッケージで広く知られています。 現在のシナリオでは、Pythonはデータサイエンティストにとって頼りになる言語です。
コード
import math#必要なパッケージ
number = input( "数値を入力してください:")
print(““、number、”の階乗は:“)
print(math.factorial(int(number)))#階乗を計算する関数
出力
上記のコードを実行すると、以下の出力が得られます。
数字を入力してください:5
5の階乗は次のとおりです。
120
数字を入力してください:5.6
トレースバック(最後の最後の呼び出し):
5.6の階乗は次のとおりです。
ファイル「C:/Users….py」、5行目、
print(math.factorial(int(number)))
ValueError :10進数のint()のリテラルが無効です:「5.6」
浮動小数点整数の階乗を計算できないため、値エラーが発生しています。 Pythonコードを明示的に記述している場合、すべての条件をチェックして関連するメッセージを出力するように注意する必要がありますが、PythonのMathパッケージの階乗関数では、すべての処理を実行するため、次の場合に行コードを減らすことができます。プロジェクトでのFactorialの使用または問題の説明。
必読: Pythonチュートリアル
結論
この記事では、階乗やその他の重要な数学的概念の実生活における重要性と応用について知ることができました。 さまざまなタイプのコードを調べて、特定の数値の階乗を計算しました。 この記事ではPythonの階乗についてのみ説明しますが、MATHパッケージには他にも多くの数学計算があります。 Pythonを初めて使用する人は、Pythonを詳しく調べたり、いくつか試してみることができます。
データサイエンスについて知りたい場合は、IIIT-B&upGradのデータサイエンスのエグゼクティブPGプログラムをチェックしてください。これは、働く専門家向けに作成され、10以上のケーススタディとプロジェクト、実践的なハンズオンワークショップ、業界の専門家とのメンターシップを提供します。1業界のメンターとの1対1、400時間以上の学習、トップ企業との仕事の支援。
Pythonの再帰とは何ですか?
Pythonでの再帰とは、データをループして明確な結果に到達することを意味します。 これは、何か(ステートメントまたは関数)がそれ自体の観点から定義される、よく知られた数学的およびプログラミングプロセスです。 再帰の助けを借りて、ユーザーまたは開発者は複雑なコードと関数をより小さなサブパートに分割することができ、シーケンスの作成ははるかにアクセスしやすくなります。 再帰を使用する場合、開発者は特に注意する必要があります。これは、終了したり、過剰な量のメモリやCPUパワーを消費したりしない関数を作成することが非常に頻繁に行われるためです。 正しく行われると、再帰は非常に効率的で数学的に革新的なプログラミング方法になる可能性があります。
Pythonの基本を学ぶのにどれくらいの時間がかかりますか?
Pythonは最も単純なプログラミング言語と見なされているため、Pythonの基本を学ぶのは簡単で、それほど時間はかかりません。 学生または専門家は、Pythonの基本を学ぶために1〜2か月を費やすことができます。 専門家は、毎日約2〜3時間専念することで、4〜5か月以内にすべての重要なPython関数とライブラリを習得することもできます。 ほとんどのコードのステートメントが少なく、事前定義された関数が多いため、Pythonの把握は簡単です。
Pythonの階乗プログラムの時間計算量はどれくらいですか?
階乗プログラムから、factorial(0)は単純に1つの比較(1単位時間)であり、factorial(n)は1つの比較、1つの乗算、1つの減算、および階乗(n-1)の時間であることがわかりました。 したがって、T(n)= T(n — 1)+ 3およびT(0)= 1と言うことができます。値を入力すると、Big-Oh表記で見られるように、T(N)はnに正比例することがわかります。 結果として、階乗プログラムの時間計算量はO(n)です。