Maison  >  Article  >  développement back-end  >  Factorielle en PHP

Factorielle en PHP

王林
王林original
2024-08-29 13:12:25853parcourir

Avant de commencer l'apprentissage de Factorial en PHP, comprenons le terme factoriel. La factorielle d'un nombre est le produit de tous les nombres à partir de 1 jusqu'au nombre lui-même. Lors du calcul du produit de tous les nombres, le nombre est lui-même inclus.

PUBLICITÉ Cours populaire dans cette catégorie DEVELOPPEUR PHP - Spécialisation | Série de 8 cours | 3 tests simulés

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

La factorielle d'un nombre est calculée uniquement pour les entiers positifs. La factorielle de 0 est toujours 1 et la factorielle d’un nombre négatif n’existe pas. Il est désigné par « ! » précédé du chiffre. Exemple n! où n est le nombre

Alors,

Factorial de 5 ! signifie factoriel de 5

Factorial de 7 ! signifie factorielle de 7

Par exemple, la factorielle du nombre 5 est :

5 ! =5*4*3*2*1 = 120

De même, la factorielle du nombre 7 est :

7 ! = 7*6*5*4*3*2*1 = 5040

et ainsi de suite..

Maintenant, comment pouvons-nous réellement trouver la factorielle, nous pouvons le faire en utilisant

  1. boucle for (sans récursivité)
  2. avec récursivité

Logique Factorielle

La logique derrière l'obtention de la factorielle du nombre est la suivante.

  1. Obtenez le nombre dont la factorielle doit être calculée.
  2. Obtenez tous les nombres à partir de 1 jusqu'à ce nombre.
  3. Obtenez la multiplication de tous les nombres.

Rappelez-vous la factorielle de 0 ! = 1.

Comment trouver une factorielle en PHP ?

Nous apprendrons davantage en utilisant différentes méthodes pour calculer la factorielle du nombre donné à l'aide du code PHP. Comme utiliser la récursivité, la récursion avec entrée utilisateur, sans récursivité, sans récursivité avec entrée utilisateur.

À propos de la récursivité

Comme d'autres langages, PHP prend également en charge la récursion. Qu’est-ce que la récursivité ? Lorsqu’une fonction s’appelle elle-même, on parle de récursion. Une fonction récursive s'appelle au sein de la fonction.

Exemple n°1

Dans le programme PHP suivant, la factorielle du numéro 5 est calculée. Il s'agit d'un programme simple utilisant la boucle for. Cette boucle for est itérée sur la séquence de nombres en commençant par le nombre jusqu'à ce que 1 soit atteint.

Code :

<?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
?>

Sortie :

Factorielle en PHP

Exemple n°2

Dans le programme ci-dessous, nous avons utilisé un simple formulaire HTML avec un texte de saisie et un bouton de soumission. La zone de saisie est utilisée pour obtenir la saisie de l'utilisateur. Le bouton Soumettre est utilisé pour soumettre les données du formulaire. Vient ensuite le code PHP pour parcourir une boucle dans laquelle toute la logique est présente, ce que nous avons appris dans le programme précédent. Alors maintenant, la même logique est utilisée avec un formulaire de saisie.

Si l'utilisateur saisit un nombre positif dans la zone de saisie du formulaire, la factorielle de ce nombre est calculée et le résultat est imprimé.

Code :

<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>

Sortie :

Factorielle en PHP

Exemple #3

Dans les deux programmes ci-dessus, nous n'avons pas intégré la logique dans une fonction. Ici, nous avons enfermé la logique principale dans une fonction, puis appelé cette fonction pour calculer la factorielle du nombre donné en PHP. Ici le nom de la fonction est Factorial_Function qui trouve la factorielle du nombre 8.

Code :

//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;
?>

Sortie :

Factorielle en PHP

Exemple n°4

Nous savons que la récursivité appelle une fonction dans une fonction. Dans l'exemple suivant, nous utiliserons la récursion et trouverons la factorielle du nombre à l'aide du code PHP. La logique principale est enveloppée dans un nom de fonction Factorial_Function. Dans cette fonction, si l'entrée est supérieure à un, alors la même fonction est appelée à nouveau et si l'entrée est inférieure ou égale à 1, alors un est renvoyé.

Utiliser la récursivité

Code :

<?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);
?>

Sortie  :

Factorielle en PHP

Exemple #5

Nous connaissons maintenant la récursivité. Dans le programme suivant, nous avons utilisé la récursivité, la récursivité est appliquée au nombre qui est la saisie de l'utilisateur dans cet exemple.

Code :

<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>

Sortie :

Factorielle en PHP

Conclusion

Cet article a couvert toutes les explications et exemples pour trouver la factorielle d'un nombre en utilisant PHP. Les exemples sont expliqués de manière récursive et non récursive, ainsi qu'une explication de récursion dans le contexte du programme. J'espère que cet article a été trouvé instructif pour bien apprendre et bien comprendre.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Série Fibonacci PHPArticle suivant:Série Fibonacci PHP