Si consideri la seguente funzione:
int ricorsiva(int N) { if(N > 1) return N*ricorsiva(N - 1); else return 1; }Indicare qual è il valore restituito dall’invocazione di ricorsiva(5)
Risposte:
- 5
- 20
- 120
- nessuno dei precedenti.
Soluzione: c (120).
La funzione ricorsiva() calcola il valore dell’espressione N*(N-1)*…*2*1
- 1
- 2*1 = 2
- 3*2*1 = 6
- 4*3*2*1 = 24
- 5*4*3*2*1 = 120
- 6*5*4*3*2*1 = 720
- …
Si tratta della funzione fattoriale