À la maternelle, l’instituteur a donné des bonbons aux enfants. Le nombre de bonbons que chaque enfant reçoit n'est pas toujours le même. Voici par exemple une répartition initiale : candies = [10,2,8,22,16,4,10,6,14,20]. Remarquez que le nombre d'enfants peut lui-aussi être variable.
L’instituteur a demandé aux enfants de faire un cercle et de jouer à un jeu : chaque enfant donne la moitié de ses bonbons à l'enfant sur sa droite (en même temps). Si le nombre de bonbons est un nombre impair, l'enseignant lui donne un bonbon supplémentaire pour que le partage tombe juste.
On répète cette procédure jusqu'à ce que les enfants aient le même nombre de bonbons. Vous devez renvoyer deux nombres :
1 - Combien de temps va durer la distribution
2 - Combien chaque enfant a de bonbons à la fin du jeu
Exemple de déroulement :
Code : Tout sélectionner
candies = [ 1,2,3,4,5 ]
Distribution 1: [ 4,2,3,4,5 ]
Distribution 2: [ 5,3,3,4,5 ]
Distribution 3: [ 6,5,4,4,5 ]
Distribution 4: [ 6,6,5,4,5 ]
Distribution 5: [ 6,6,6,5,5 ]
Distribution 6: [ 6,6,6,6,6 ]
Le programme donnera donc en réponse [6,6] (6 tours et 6 bonbons par enfant)