Lycée Victor Hugo MP 2016-2017
II La suite de Syracuse
On a rencontré en cours la suite de Syracuse ; en voici la version «compressée» définie par la
récurrence ci-dessous (où c∈N∗est une constante d’initialisation donnée) :
a0=cet ∀n∈N, an+1 =
an
2si anest pair
3an+ 1
2si anest impair
1 Analyse de la longueur du vol
1. Écrire le code Python d’une fonction récursive vol de paramètre cqui rend la liste des
différentes valeurs de la suite de Syracuse initialisée à c(et arrêtée à 1).
On s’arrête à 1 dans la mesure où à partir de 1, on retrouve la suite [2,1,2,1,...].
Exemple de résultat attendu :
>>> vol (15) :
[15 , 23 , 35 , 53 , 80 , 40 , 20 , 10 , 5 , 8 , 4 , 2 , 1]
2. Écrire le code Python de la fonction longueurDuVol de paramètre c. Elle rendra pour
résultat le plus petit indice n∈Npour lequel un= 1.
3. Écrire le code Python de la fonction volMaximal de paramètre entier nqui rend le couple
constitué de la valeur c6npour lequel on obtient le vol de longueur maximale, et de la
longueur de ce vol. Exemple de résultat attendu :
>>> vo lMaxi mal (1000)
(871 , 113)
4. Écrire le code Python de la fonction listeDesRecordsVolMaxi de paramètre entier nqui
rend la liste des couples (c, vol)des différents records obtenus lorsqu’on fait varier cde 1
àn. Exemple de résultat attendu :
>>> l is teD esR ec ord sV olM axi (30)
[(1 , 0) , (2 , 1) , (3 , 5) , (6 , 6) , (7, 11) , (9, 13) , (18 , 14) ]
2 Analyse de l’altitude maximale atteinte
1. Écrire le code Python d’une fonction récursive maximumListe dont le paramètre est une
liste d’entiers ou de flottants let qui rend le maximum des éléments de cette liste.
2. Écrire le code Python de la fonction altitudeMax1Vol de paramètre entier cqui rend
l’altitude maximale atteinte pour un vol initialisé à c. Exemple de résultat attendu :
>>> a lti tude Max 1Vo l (9663)
13557212
3. Écrire le code Python de la fonction altitudeMaxVols de paramètre entier net qui rend
pour résultat le couple (c, alt)où cla valeur du paramètre donnant l’altitude maximale
alt atteinte parmi tous les vols obtenus en faisant varier cde 1àn..
>>> a lti tude Max Vol s (1000)
(703 , 125252 )
3