Menu
CoddyTech

Pascal's Triangle

Dans le triangle de Pascal, la première ligne est [1]. Chaque ligne suivante comporte une entrée de plus, commence et se termine par 1, et chaque entrée intermédiaire est la somme des deux entrées situées juste au-dessus. Tu reçois un entier numRows. Renvoie les numRows premières lignes du triangle, en commençant par la ligne du haut, chaque ligne étant un tableau d’entiers.

Fonction

generate(numRows: integer) → integer-2d-array
numRowsinteger
combien de lignes du triangle construire
Renvoieinteger-2d-array
les numRows premières lignes, en commençant par la ligne du haut

Contraintes

  • 1 ≤ numRows ≤ 30
  • Chaque valeur des 30 premières lignes tient dans un entier signé de 32 bits. La plus grande est 77558760, au milieu de la ligne 30.

Exemples

Entrée
numRows = 5
Sortie
[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1]]
Explication
Chaque entrée intérieure additionne les deux entrées situées au-dessus. Dans la quatrième ligne, 3 = 1 + 2 et 3 = 2 + 1. Dans la cinquième ligne, 4 = 1 + 3, 6 = 3 + 3 et 4 = 3 + 1.

lock icon+13 tests cachés à la soumission

challenge icon

Pour aller plus loin

Peux-tu construire uniquement la dernière ligne dans un seul tableau, en la mettant à jour sur place ligne après ligne au lieu de conserver les lignes précédentes ? Dans quel sens la boucle interne doit-elle s’exécuter, et pourquoi ?

Réinitialiser le code
def generate(numRows):
    # Écrivez le code ici
Cas de test

Cas 1

Cas 2

Entrée

numRows = 5

Attendu

[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1]]