Corrigé du 89 P. 45

retour

a. Code complété :

def S(n): somme = 1 for i in range(2,n+1): somme = somme + i return somme

L'appel de S(10) doit retourner $\dfrac{10\times 11}2 = 55$}, celui de S(91) doit retourner $\dfrac{91\times 92}2 = 4186$ et celui de S(859) doit retourner $\dfrac{859\times 860}2 = 369\:370$.

b. On peut s'inspirer de la fonction précédente en remplaçant les sommes par des produits.

def fact(n): fact = 1 for i in range(1,n+1): fact = fact * i return fact
L'appel de fact(4) doit renvoyer $4!=4\times 3 \times 2 \times 1 = 24$ et celui de fact(5) doit renvoyer $5! = 120$.

retour