Si consideri la seguente funzione:
Function ricorsiva(N: Integer): Integer; Begin If(N > 1) Then ricorsiva:=N*ricorsiva(N-1) Else ricorsiva:=1 End;
Indicare qual è il valore restituito dall’invocazione di ricorsiva(5)
Risposte:
- 5
- 20
- 120
- nessuno dei precedenti.
Soluzione: c (120).
Soluzione
Dato un intero N non negativo, N! denota il fattoriale di N così definito:
N! = 1 se N è = 0,altrimenti
N! = N*(N-1)*(N-2)…*2*1
ovvero, se N è positivo allora il fattoriale di N è dato dal prodotto di N per tutti gli interi positivi minori di N).Sulla base della definizione di fattoriale, possiamo facilmente verificare che la funzione ricorsiva() calcola il fattoriale di N: il risultato di ricorsiva(5) è dunque:
5! = 5*4*3*2*1 = 120