Necesita ayuda convertir patrón iterativo en fórmula
-
13-09-2019 - |
Pregunta
var = 8
itr 1:
var == 8 (8 * 1)
itr 2:
var == 24 (8 * 3)
itr 3:
var == 48 (8 * 6)
itr 4:
var == 80 (8 * 10)
itr 5:
var == 120 (8 * 15)
Patrón: (var * (última iteración actual multiplicador +))
Básicamente quiero obtener el resultado de la fórmula (ITR) sin tener que recorrer hasta ITR.
Solución
El valor de var
en la iteración nth
es 8 veces la suma de 1..n. La suma de 1..n está dada por la fórmula (n)(n+1)/2
; por ejemplo, la suma de 1..6 es 6 * 7/2 = 21 .
Por lo tanto, var == 4(i)(i+1)
en la iteración ith
.
Otros consejos
Multiplicar 8 por la suma de 1 a la iteración actual:
>>> def itr(n): return 8 * sum(xrange(n+1))
...
>>> itr(1)
8
>>> itr(2)
24
>>> itr(3)
48
>>> itr(4)
80
>>> itr(5)
120
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow