1. Implémentation récursive ordinaire. Selon la formule récursive générale fact(n) = n * fact(n-1), il est facile d'écrire le code de calcul factoriel.
L'avantage de l'implémentation récursive ordinaire est que le code est relativement concis et que le même processus que la formule générale rend le code facile à comprendre. L'inconvénient est que, comme il doit s'appeler fréquemment, un grand nombre d'opérations push et pop sont nécessaires et l'efficacité informatique globale n'est pas élevée.
fonction fait (int $n): int { si ($n == 0) { renvoyer 1 ; } return $n * fait($n - 1); }
2. La mise en œuvre d'une boucle ordinaire a une certaine saveur de programmation dynamique, mais en raison de la faible fréquence d'utilisation des variables d'état intermédiaire, aucun espace de stockage supplémentaire n'est requis.
C'est donc plus simple que l'algorithme général de programmation dynamique. La méthode récursive ordinaire est un processus de calcul descendant (de n à 1), tandis que la boucle ordinaire est un calcul ascendant.
fonction fait (int $n): int { $résultat = 1 ; $num = 1 ; tandis que ($num <= $n) { $résultat = $résultat * $num ; $num = $num + 1 ; } renvoie $résultat ; }
Ce qui précède est la méthode d’implémentation de n factorial en php. J’espère que cela sera utile à tout le monde.