Adloun

NSI (terminale) · Chapitre 7 · Exercice d'entraînement

La pyramide de nombres

La programmation dynamique · Problèmes d'optimisation · niveau 2

Énoncé

La pyramide de nombres.

On descend du sommet d'une pyramide de nombres jusqu'à sa base ; à chaque étage, on passe à l'un des deux nombres situés juste en dessous (à gauche ou à droite). On cherche la somme maximale des nombres rencontrés. La pyramide est représentée par une liste de lignes :


pyramide = [[3],
            [7, 4],
            [2, 4, 6],
            [8, 5, 9, 3]]

Depuis la case pyramide[i][j], on peut descendre en pyramide[i+1][j] ou en pyramide[i+1][j+1].

  • Combien de chemins une pyramide de étages compte-t-elle ? Pourquoi l'essai de tous les chemins est-il à exclure ?
  • Écrire une fonction somme_max(pyramide) qui remonte de la base vers le sommet, et donner le résultat sur l'exemple.
  • Un algorithme glouton qui choisit à chaque étage le plus grand des deux nombres trouve-t-il l'optimum ici ?

Un exercice à chercher : son corrigé n'est pas publié. Sur Adloun, le tuteur guide par questions, sans donner la réponse.

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre