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.

¿Fue útil?

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
scroll top