Nombres triangulaires et Python
On appelle nombre triangulaire d'ordre la somme des nombres entiers naturels compris entre et :
On notera :
Par exemple, le nombre triangulaire d'ordre est :
C'est le nombre de points représentés sur la figure ci-dessous :
Compléter le programme Python ci-dessous afin qu'il calcule et affiche le nombre triangulaire d'ordre :
T=0 for n in range(...) : T = ... print(T)
On souhaite déterminer pour quelle valeur de le nombre triangulaire d'ordre est supérieur ou égal à .
Compléter le programme Python ci-dessous afin qu'il affiche ce nombre .
Saisir ce programme dans un éditeur Python. Quelle valeur de obtient-on ?T=0 n=0 while ... : n = ... T = ... print(n)
Corrigé
Dans le programme proposé, la variable T représente le nombre triangulaire d'ordre n.
Pour calculer le nombre triangulaire d'ordre 20, il faut effectuer la somme des entiers compris (au sens large) entre et .
Comme range(a,b) renvoie la liste des valeurs comprises (au sens large) entre a et b-1 ; il faut donc utiliser l'instruction range(1, 21 ) pour créer la boucle (l'instruction range(0, 21) ou range(21) est aussi valable puisqu'elle ne fait qu'ajouter à cette somme).
Ensuite, à chaque étape de la boucle, on ajoute n à T.
Voici le programme complet :
L'exécution de ce programme affiche la valeur 210.T=0 for n in range(1,21) : T = T+n print(T)
Cette fois, on ne connait pas, dès le départ, le nombre d'itérations. On doit donc utiliser une boucle while (boucle non bornée).
Ici, la variable T représente le nombre triangulaire d'ordre n.
On sort de la boucle lorsque T >= 1000, c'est à dire qu'on reste dans la boucle tant que T < 1000.
À chaque passage dans la boucle, on incrémente n puis on l'ajoute au nombre T :
T=0 n=0 while T < 1000 : n = n+1 T = T+n print(n)
Ce programme affiche le nombre comme résultat.