Itérations de boucles imbriquées
Deux boucles l'une dans l'autre font-elles toujours n × n tours ? Pas toujours. Choisissez un schéma de boucles, saisissez les tailles et lisez le nombre exact d'exécutions.
- Nombre d'exécutions de action()
- 4 950
- Ordre de grandeur
- O(n²)
pour i de 0 à n-1
pour j de 0 à i-1
action()Comment ça se calcule
Une boucle double exécute n × m fois son corps. Si la boucle intérieure s'arrête à i, on additionne 0 + 1 + ... + (n - 1) = n (n - 1) / 2. Une boucle dont la variable double à chaque tour s'exécute plafond(log2 n) fois. Le pseudo-code affiché correspond exactement au schéma choisi.
Questions fréquentes
Pourquoi la boucle triangulaire donne-t-elle n²/2 ?
Parce que la somme des entiers de 0 à n - 1 vaut n (n - 1) / 2, soit environ la moitié d'un carré.
Comment une boucle peut-elle être logarithmique ?
Quand sa variable est multipliée (et non incrémentée) à chaque tour : le nombre de tours est le nombre de fois qu'on peut doubler avant d'atteindre n.
Cas fréquents
Des exemples déjà remplis, avec leur explication :
- Deux boucles imbriquées : 100 fois 50
- Boucle triangulaire pour n égal 1 000
- Trois boucles imbriquées de 20 tours
- Une boucle qui double sa variable : 1 000 000
- Une boucle linéaire contenant une boucle qui double
Intégrer cet outil sur votre site
Les résultats sont fournis à titre indicatif. Pour aller plus loin, découvrez les sites de la catégorie Sandbox et casse-têtes de l'annuaire et lisez le guide de cette catégorie.
Autres outils
- fibAppels récursifs de Fibonacci (version naïve)Pourquoi fib(40) fait des centaines de millions d'appels
- ISODate vers ISO 8601 et autres formatsUne date écrite de six façons
- WNuméro de semaine ISO et jour de l'annéeSemaine 53 ? Jour 365 ? Calcul pour une date
- 2^nPuissances de 2 et de 10 : ordres de grandeur2^n exact, nombre de chiffres et équivalent en puissance de 10
- 0xLongueur hexadécimale et bits d'une empreinte64 caractères hexadécimaux, c'est combien de bits ?
- 0,1Représentation d'un nombre à virgule (IEEE 754)Signe, exposant et mantisse de 0,1 en 64 ou 32 bits