Fattoriale iterativo

Puoi usare la funzione math.factorial().


Definizione

La definizione iterativa del fattoriale di n

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

Prova!

Codifica il calcolo del fattoriale di 5 (5! = 120)

  • Utilizzi for oppure while?
  • Il valore iniziale di prod è 1 o 5?
  • Il valore dell’indice mul aumenta o diminuisce?
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

Esercizio

Ripeti tutti gli esercizi ma utilizza una costante N=5