QCM - Récursivité
QCM 03
Pour s’entraîner
- Cette fonction est-elle récursive?
def factorielle(n):
if n == 0:
return 1
else:
return n * factorielle(n-1)
- oui
- non
- Quelle est la condition d’arrêt dans cette fonction récursive ?
def countdown(n):
if n == 0:
print("Décollage !")
else:
print(n)
countdown(n-1)
- n == 0
- n == 1
- n < 0
- Il n’y a pas de condition d’arrêt
- Cette fonction est-elle correctement écrite pour calculer la somme des nombres de 1 à n de manière récursive ?
def sum_to_n(n):
return n + sum_to_n(n-1)
- Oui
- Non, il manque une condition d’arrêt
- Non, l’appel récursif est incorrect
- Non, la fonction ne renvoie rien
- Quelle sera la sortie de cette fonction pour fibonacci(3) ?
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
- 2
- 3
- 4
- 5