Puoi usare la funzione math.factorial().
Definizione iterativa del fattoriale di n


Per n=5:
5! = 5*4*3*2*1 = 12
Prova a interpretare le 10 soluzioni seguenti
Con for |
con while |
moltiplicazioni effettive per n=5
|
|
prod=1 for mul in range(5,0,-1): prod *= mul |
|
|
prod=1 mul =5 while(mul >= 1): prod *= mul mul -= 1 |
|
1 *5 *4 *3 *2 *1 |
|
prod=5 for mul in range(4,0,-1): prod *= mul |
|
|
prod=5 mul=4 while(mul >= 1): prod *= mul mul -= 1 |
|
5 *4 *3 *2 *1 |
|
prod=5 for mul in range(4,1,-1): prod *= mul |
|
|
prod=5 mul =4 while(mul > 1): prod *= mul mul -= 1 |
|
5 *4 *3 *2 |
|
prod=1 for mul in range(1,6): prod *= mul |
|
|
prod=1 mul =1 while(mul <= 5): prod *= mul mul += 1 |
|
1 *1 *2 *3 *4 *5 |
|
prod=1 for mul in range(2,6): prod *= mul |
|
|
prod=1 mul =2 while(mul <= 5): prod *= mul mul += 1 |
|
1 *2 *3 *4 *5 |
Funzionano tutte le soluzione se n=0 ???
Funzionano tutte le soluzione se n=1 ???