J'ai une fonction récursive, comme suit, où b> = 0Combien de fois cette fonction récursive itérée?
def multiply(a,b):
if b == 0:
return 0
elif b % 2 == 0:
return multiply(2*a, b/2)
else:
return a + multiply(a, b-1)
Je voudrais savoir combien de fois la fonction se déroulera en termes de a et b. Merci.
Cette méthode semble brisée. Essayez 'multiply (1, 0)', par exemple, et vous aurez une boucle récursive infinie. – Jesper
Oui, j'ai fait une faute de frappe. C'est corrigé maintenant. – alexcons
Indice: utilisez la représentation binaire de b et vérifiez la valeur utilisée dans l'appel multiple suivant(). – Ante