Maths-cours

COURS & EXERCICES DE MATHÉMATIQUES

Close

Nombres triangulaires et Python

On appelle nombre triangulaire d'ordre n n la somme des nombres entiers naturels compris entre 11 et nn :

On notera :

Tn=1+2+3++n T_n = 1 + 2 + 3 + \cdots + n

Par exemple, le nombre triangulaire d'ordre 44 est :

T4=1+2+3+4=10. T_4 = 1 + 2 + 3 + 4 = 10.

C'est le nombre de points représentés sur la figure ci-dessous :

Nombres triangulaires

  1. Compléter le programme Python ci-dessous afin qu'il calcule et affiche le nombre triangulaire d'ordre 2020  :

    T=0
    for n in range(...) :
       T = ...
    print(T)

  2. On souhaite déterminer pour quelle valeur de n n le nombre triangulaire d'ordre nn est supérieur ou égal à 1 0001~000.

    Compléter le programme Python ci-dessous afin qu'il affiche ce nombre nn.

    T=0
    n=0
    while ... :
       n = ...
       T = ...
    print(n)
    Saisir ce programme dans un éditeur Python. Quelle valeur de n n obtient-on ?

Corrigé

  1. 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 11 et 2020.

    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 00 à cette somme).

    Ensuite, à chaque étape de la boucle, on ajoute n à T.

    Voici le programme complet :

    T=0
    for n in range(1,21) :
       T = T+n
    print(T)
    L'exécution de ce programme affiche la valeur 210.

  2. 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 45 45 comme résultat.