lily4567 Posted February 25, 2021 Posted February 25, 2021 hey pour ce genre de programme; comment déterminer le nombre d'itérations ? je pensais que par exemple pour pos1 == 6, on ferait pos2 in range (6) mais du coup, ça nous fait dans cet exemple si pos1 == 0, pos2 in range (0) si pos1 == 1, pos2 in range (1) si pos1 == 2, pos2 in range (2) etc... mais ça fait un arbre immense non? merci de votre aide !! https://zupimages.net/viewer.php?id=21/08/ob5j.png Quote
Ancien du Bureau Solution MrPouple Posted February 25, 2021 Ancien du Bureau Solution Posted February 25, 2021 Salut ! a = 0 for pos1 in range(1000): # Ici ton pos1 va aller de 1 à 1000 for pos2 in range(pos1): # Ici ton pos2 va parcourir le même nombre de fois la boucle que la valeur de pos1 a += 1 # Donc ça peut se compter comme ça : première itération; pos1 = 0 donc pos2 = 0 on itère pas # Deuxième passage pos1 = 1 donc pos2 = 1 donc a = 1 # Trosième passage pos1 = 2 donc pos2 = 2 donc a = 1 + 2 puisqu'on va faire deux passages # Quatrième passage pos1 = 3 donc pos2 = 3 donc a = 1 + 2 +3 Tu vois donc assez vite que a va être égale à 1 + 2 + ... + 999 (pourquoi 999 et pas 1000 ? Parce que la fonction range est exclusive du second terme et va s'aretter à 999). Donc si tu utilises la formule pour calculer la somme des entiers de 1 à n à savoir : n(n+1) / 2 tu obtiens 499500. Je n'ai pas le temps d'écrire la suite pour le moment mais je repasse plus tard, en espérant que ceci t'aide déjà un petit peu ! N'hésite pas si tu as des questions Au plaisir, Eno_lase, Ilyatrogène, Sans-Visage and 1 other 1 2 1 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.