PHP で階乗の学習を始める前に、階乗という用語を理解しましょう。数値の階乗は、1 からその数値自体までのすべての数値の積です。すべての数値の積を計算する際、その数値自体も含まれます。
広告 このカテゴリーの人気コース PHP 開発者 - 専門分野 | 8コースシリーズ | 3 つの模擬テスト無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
数値の階乗は、正の整数に対してのみ計算されます。 0 の階乗は常に 1 であり、負の数の階乗は存在しません。番号の前に「!」が付いていることを示します。例 ん!ここで、n は数値です
それでは
5 の階乗! 5 の階乗を意味します
7 の階乗! 7 の階乗を意味します
たとえば、数値 5 の階乗は次のとおりです。
5! =5*4*3*2*1 = 120
同様に、7 の階乗は次のとおりです。
7! = 7*6*5*4*3*2*1 = 5040
など..
それでは実際に階乗を見つけるにはどうすればよいでしょうか。
を使用してそれを行うことができます。階乗論理
数値の階乗を取得する背後にあるロジックは次のとおりです。
0 の階乗を覚えておいてください! = 1.
PHP コードを使用して、指定された数値の階乗を計算するさまざまな方法をさらに学習します。再帰を使用する場合と同様、ユーザー入力を伴う再帰、再帰を使用しない、ユーザー入力を伴う再帰を使用しない。
再帰について
他の言語と同様に、PHP も再帰をサポートしています。再帰とは何ですか?関数がそれ自体を呼び出すことを再帰と呼びます。再帰関数は関数内でそれ自体を呼び出します。
次の PHP プログラムでは、数値 5 の階乗が計算されます。 forループを使った簡単なプログラムです。この for ループは、その数値から始まり 1 に達するまで一連の数値に対して繰り返されます。
コード:
<?php //example to calculate factorial of a number using simple for loop //declaring the input number as 5 $input=5; //declaring the fact variable as 1 $fact =1; //iterating using for loop for($i=$input; $i>=1;$i--) { // multiply each number up to 5 by its previous consecutive number $fact = $fact * $i; } // Print output of the program echo '<br>'. 'The factorial of the number 5 is '. $fact ?>
出力:
以下のプログラムでは、入力テキストと送信ボタンを備えた単純な HTML フォームを使用しました。入力ボックスはユーザー入力を取得するために使用されます。送信ボタンはフォームデータを送信するために使用されます。その後に、すべてのロジックが存在する for ループを反復する PHP コードが続きます。これは、前のプログラムで学習しました。したがって、入力フォームでも同じロジックが使用されます。
ユーザーがフォームの入力ボックスに正の数を入力すると、その数値の階乗が計算され、結果が出力されます。
コード:
<html> <head> <title> Factorial Program</title> </head> <body> <form method="POST"> <label>Enter a number</label> <input type="text" name="number" /> <input type="submit" name="submit" value="Submit" /> </form> <?php // example to demonstrate factorial of a number using form if($_POST['submit'] == "Submit") { $input = $_POST['number']; $fact=1; //iterating using for loop for($i=$input; $i>=1;$i--) { $fact = $fact * $i; } // Print output of the program echo '<br>'. 'The factorial of the number '.$input.' is ' . $fact; } ?> </body> </html>
出力:
上記 2 つのプログラムでは、関数内にロジックをラップしていません。ここでは、メイン ロジックを関数で囲み、その関数を呼び出して、PHP で指定された数値の階乗を計算しています。ここでの関数の名前は Factorial_Function で、数値 8 の階乗を求めます。
コード:
//example to calculate factorial of a number using function //defining the factorial function function Factorial_Function($number) { $input = $number; $fact=1; //iterating using for loop for($i=$input; $i>=1;$i--) { $fact = $fact * $i; } return $fact; } //calling the factorial function $result = Factorial_Function(8); echo 'Factorial of the number 8 is '.$result; ?>
出力 :
再帰が関数内で関数を呼び出していることはわかっています。次の例では、再帰を使用し、PHP コードを使用して数値の階乗を求めます。メイン ロジックは、関数名 Factorial_Function でラップされています。この関数内では、入力が 1 より大きい場合は同じ関数が再度呼び出され、入力が 1 以下の場合は 1 が返されます。
再帰の使用
コード:
<?php //Example to demonstrate factorial of a number using recursion //function containing logic of factorial function Factorial_Function($input) { // if the input is less than or equal to 1 then return if($input <=1) { return 1; } // else do a recursive call and continue to find the factorial return $input * Factorial_Function($input-1); //doing a recursive call } echo "Factorial of 9 is ".Factorial_Function(9); ?>
出力 :
これで再帰について学びました。次のプログラムでは再帰を使用しています。この例では、ユーザーからの入力である数値に再帰が適用されます。
コード:
<html> <head> <title> Factorial Program</title> </head> <body> <form method="POST"> <label>Enter a number</label> <input type="text" name="number" /> <input type="submit" name="submit" value="Submit" /> </form> <?php // example to demonstrate factorial of a number using form function Factorial_Function($input) { // if the input is less than or equal to 1 then return if($input <=1) { return 1; } // else do a recursive call and continue to find the factorial return $input * Factorial_Function($input-1); //doing a recursive call } if(!empty($_POST['number'])){ $input = $_POST['number']; // Print output of the program echo '<br>'. 'The factorial of the number '.$input.' is ' . Factorial_Function($input); } ?> </body> </html>
出力:
この記事では、PHP を使用して数値の階乗を求めるための説明と例をすべて取り上げました。例は、再帰的方法と非再帰的方法を使用して説明され、プログラムのコンテキストでの再帰の説明も行われます。この記事が学習と理解に役立つことを願っています。
以上がPHP の階乗の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。