Fattoriale iterativo

Puoi usare la funzione math.factorial().

Definizione iterativa del fattoriale di n

  • n!=n\cdot (n-1)\cdot ... \cdot 2\cdot 1
  • 0! = 1

Prova!

Per n=5

  • 5! = 120

Prova a interpretare le 10 soluzioni seguenti

  • Quale funziona per n=0 ?
  • Quale funziona per n=1 ?
prod = 1
for mul in range(5, 0, -1):
    prod *= mul
prod = 1
mul = 5
while(mul >= 1):
    prod *= mul
    mul  -= 1
prod = 5
for mul in range(4, 0, -1):
    prod *= mul
prod = 5
mul = 4
while(mul >= 1):
    prod *= mul
    mul  -= 1
prod = 5
for mul in range(4, 1, -1):
    prod *= mul
prod = 5
mul = 4
while(mul > 1):
    prod *= mul
    mul  -= 1
prod = 1
for mul in range(1, 6):
    prod *= mul
prod = 1
mul = 1
while(mul <= 5):
    prod *= mul
    mul  += 1
prod = 1
for mul in range(2, 6):
    prod *= mul
prod = 1
mul = 2
while(mul <= 5):
    prod *= mul
    mul  += 1