Considere el siguiente bucle triple anidado:
for (int i = 1; i <= n; ++i)
for (int j = i; j <= n; ++j)
for (int k = j; k <= n; ++k)
// statement
La declaración aquí se ejecuta exactamente veces ¿Podría alguien explicar cómo se obtuvo esta fórmula? Gracias.
Respuestas:
Puede contar la cantidad de veces que se ejecuta el bucle for más interno contando la cantidad de tripletes para los que se ejecuta.(i,j,k)
Por las condiciones del bucle sabemos que:1≤i≤j≤k≤n . Podemos reducirlo al siguiente problema de combinatoria simple.
Entonces, solo necesitamos contar el número de formas de elegir 3 cajas de cajas que es ( n + 2n+2 .(n+23)
fuente
para mí, es más fácil notar que el bucle interno se ejecuta veces y el número total de ejecuciones en el bucle interno esn−i
esto se puede reescribir como y se ejecuta n veces, por lo que el número total de ejecuciones es∑n−ij=0n−i−j norte
fuente