Heim  >  Artikel  >  Backend-Entwicklung  >  So berechnen Sie die Fakultät einer bestimmten Zahl n mit einem PHP-Programm

So berechnen Sie die Fakultät einer bestimmten Zahl n mit einem PHP-Programm

青灯夜游
青灯夜游Original
2021-08-13 20:13:418018Durchsuche

Im vorherigen Artikel „PHP-Loop-Lernen 9: Ermitteln des größten gemeinsamen Teilers zwischen zwei gegebenen Zahlen“ haben wir die Methode der Verwendung der while-Schleifenanweisung vorgestellt, um den größten gemeinsamen Teiler zwischen zwei gegebenen ganzen Zahlen zu finden. Diesmal werden wir es tun Sprechen Sie über Fakultät und stellen Sie vor, wie man die Fakultät einer bestimmten ganzen Zahl N berechnet. Interessierte Freunde können mehr darüber erfahren~

Lassen Sie uns zunächst verstehenWas ist Fakultät?

Die Fakultät einer positiven ganzen Zahl bezieht sich auf das Produkt aller positiven ganzen Zahlen, die kleiner und gleich der Zahl sind. Daher bedeutet die Fakultät einer gegebenen ganzen Zahl N:

1 × 2 × 3×...× (n-1) × n

Die Fakultät zu finden ist sehr einfach, und Schüler, die gerade mit dem Programmieren begonnen haben, werden es auf jeden Fall tun Es gibt viele Möglichkeiten, ein Programmierproblem zu implementieren. In diesem Artikel werden verschiedene Methoden zur Implementierung von Fakultäten aus der Perspektive einer for-Schleife, einer while-Schleife, einer do-while-Schleife und einer Rekursion vorgestellt.

Methode 1: Verwenden Sie eine for-Schleife, um die Fakultät von N zu implementieren

Implementierungsidee:

  • Denn das Finden der Fakultät von n bedeutet, das Produkt von 1 mal 2 mal 3 zu finden ... bis hin zu N. Daher kann die Anfangsbedingung der for-Schleife auf i = 1 gesetzt werden und die Einschränkungsbedingung kann i oder <code>i . <br><code>i = 1,限制条件可以是 i  或者 <code>i 。<br>

  • 然后循环体中的就是乘法运算了,将每次循环的 i 值相乘,得到一个乘积

  • 最后输出乘积即可

下面看看实现方法:

<?php
header("Content-type:text/html;charset=utf-8");
//第一种方法--for循环
function Factorial($n) {
	$sum = 1;
	for ($i = 1; $i <= $n; $i++) {
		$sum *= $i;
	}
	echo "$n 的阶乘为: " . $sum."<br><br>";
}

Factorial(5);
Factorial(10);
Factorial(100);
?>

$sum *= $i语句等价于$sum=$sum*$i*=

Dann befindet sich die Multiplikationsoperation im Schleifenkörper. Multiplizieren Sie den i-Wert jeder Schleife, um ein Produkt zu erhalten.

So berechnen Sie die Fakultät einer bestimmten Zahl n mit einem PHP-Programm

Geben Sie schließlich das Produkt aus. Siehe unten Implementierungsmethode:

<?php
header("Content-type:text/html;charset=utf-8");
//第二种方法--while循环
function Factorial($n) {
	$i = 1;
	$sum=1;
	while($i<=$n){
	    $sum*=$i;
	    $i++;
	}
	echo "$n 的阶乘为: " . $sum."<br><br>";
}

Factorial(1);
Factorial(2);
Factorial(3);
Factorial(11);
?>

$sum *= $i-Anweisung ist äquivalent zu $sum=$sum*$i, *=-Zuweisung Der Operator kann die Variable auf der linken Seite des Operators mit dem Wert des Ausdrucks auf der rechten Seite multiplizieren und ihn der Variablen auf der linken Seite zuweisen. Hinweis: Da jeder mit 0 multiplizierte Wert 0 ist, muss der Anfangswert der Variablen $sum 1 sein. Werfen wir einen Blick auf die Ausgabeergebnisse:

So berechnen Sie die Fakultät einer bestimmten Zahl n mit einem PHP-Programm Nachdem wir nun verstanden haben, wie die for-Schleife die Fakultät von N implementiert, kennen wir fast die Implementierungsmethoden der while-Schleife und der do-while-Schleife (ihr Implementierungsdenken). ist das Gleiche).

Methode 2: Verwenden Sie eine while-Schleife, um die Fakultät von N

<?php
header("Content-type:text/html;charset=utf-8");
//第三种方法--do while循环
function Factorial($n) {
	$i = 1;
	$sum=1;
	do {
        $sum *= $i;
        $i++;
    } while ($i <= $n);
	echo "$n 的阶乘为: " . $sum."<br><br>";
}

Factorial(2);
Factorial(3);
Factorial(4);
Factorial(10);
?>

Ausgabeergebnis:

So berechnen Sie die Fakultät einer bestimmten Zahl n mit einem PHP-Programm

Methode 3: Verwenden Sie eine do-while-Schleife, um die Fakultät von N

f(1) = 1
f(n) = n * f(n-1) {n>1}

Ausgabeergebnis :

Vergleichen Sie Methode 1, Methode 2 und Methode 3. Finden Sie, dass sie sehr ähnlich sind?
  • Okay, hier kommt ein weiterer wichtiger Punkt. Schauen wir uns an, wie die Rekursion die Fakultät von N implementiert.

  • Methode 4: Verwenden Sie Rekursion, um die Fakultät von N zu implementieren
  • Was ist also Rekursion? Einfach ausgedrückt bedeutet Rekursion, dass das Programm sich selbst aufruft und die Funktion so lange auf sich selbst verweist, bis das referenzierte Objekt bekannt ist. Die folgenden zwei Bedingungen müssen erfüllt sein, um eine Rekursion darzustellen:

Das Unterproblem muss mit dem ursprünglichen Problem identisch und einfacher sein.

kann sich nicht unbegrenzt aufrufen, es muss einen Exit geben, der die nicht-rekursive Situationsverarbeitung vereinfacht.

So berechnen Sie die Fakultät einer bestimmten Zahl n mit einem PHP-Programm

Nach dem rekursiven Denken kann Fakultät durch die folgende Formel ausgedrückt werden:

<?php
header("Content-type:text/html;charset=utf-8");
//第四种方法--递归
function Factorial($n) {
	$sum=1;
	if($n <= 1){
		return 1;
	}else{
		$sum = $n * factorial($n-1);
		return $sum;
	}
}


echo "2 的阶乘为: " .Factorial(2)."<br><br>";
echo "3 的阶乘为: " .Factorial(3)."<br><br>";
echo "4 的阶乘为: " .Factorial(4)."<br><br>";
echo "10 的阶乘为: " .Factorial(10);
?>
Daher lautet der Code zur Verwendung von PHP zum rekursiven Finden von N-Fakultäten wie folgt:

rrreee

Ausgabeergebnis:

Das ist es . Wenn Sie noch etwas wissen möchten, können Sie hier klicken. → →🎜php-Video-Tutorial🎜🎜🎜🎜Empfehlung:🎜"🎜Sammlung von PHP-Interviewfragen (Sammlung)🎜"🎜

Das obige ist der detaillierte Inhalt vonSo berechnen Sie die Fakultät einer bestimmten Zahl n mit einem PHP-Programm. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn