Maison  >  Article  >  développement back-end  >  Comment trouver une factorielle de manière récursive en Python

Comment trouver une factorielle de manière récursive en Python

angryTom
angryTomoriginal
2020-02-13 11:23:3021654parcourir

Comment trouver une factorielle de manière récursive en Python

Comment trouver une factorielle de manière récursive en python

Factorial : Par exemple, 5 fait référence à la "factorielle de 5", c'est-à-dire 5 = 1*2*3*4*5.

"Recursion" est une fonction qui s'appelle elle-même.

Apprentissage recommandé : Tutoriel vidéo Python

def f(x):
    if x == 0:
        return 0
    elif x == 1:
        return 1
    else:
        return (x * f(x-1))
print(f(5))

Explication du code : Si x=5, alors renvoie la valeur de 5*f(4). Si vous voulez connaître cette valeur, vous devez d’abord calculer à quoi f(4) est égal. D'après la fonction f(x), f(4) = 4*f(3), donc f(5) = 5*4*f(3). Par analogie, f(5) = 5*4*3*2*f(1). La fonction f(x) dit que lorsque x==1, la valeur de retour est 1. Donc : f(5) = 5*4*3*2*1 = 120. Par conséquent, le résultat de sortie est le suivant :

120

Cela semble très gênant et difficile à comprendre. Et si nous n’utilisons pas de fonctions récursives ? En utilisant le code le plus basique, il peut s'écrire :

f = 1
for i in range(1,6):
    f = f * i
print(f)

Le résultat est toujours 120.

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