Frage

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)

Muster: (var * (letzter Multiplikator + aktuelle Iteration))

Grundsätzlich mag ich das Ergebnis der Formel erhalten (itr) ohne zu itr laufen zu müssen.

War es hilfreich?

Lösung

Der Wert von var in der nth Iteration ist 8-mal die Summe von 1..n. Die Summe der 1..n wird durch die Formel (n)(n+1)/2 gegeben; beispielsweise ist die Summe von 1..6 6 * 7/2 = 21 .

So var == 4(i)(i+1) auf der ith Iteration.

Andere Tipps

Verwenden Sie Dreieckszahlen .

Multiply 8 durch die Summe von 1 bis die aktuellen Iteration:

>>> def itr(n): return 8 * sum(xrange(n+1))
...
>>> itr(1)
8
>>> itr(2)
24
>>> itr(3)
48
>>> itr(4)
80
>>> itr(5)
120
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top