Ciao a tutti,
ho provato un paio di ricorsioni e tutto va bene...

(define prova
(lambda (n)
(if (= n 1)
1
(* n (prova (- n 1)))
)
))

...esempio (prova 10) = 10*9*8*7*6*5*4*3*2 = 3628800.
Perchè se al posto di ...(- n 1) ci metto (- n 2) e chiedo per un numero pari va in loop?

(define prova2
(lambda (n)
(if (= n 1)
1
(* n (prova2(- n 2)))
)
))

Se provo con un numero dispari funziona: (prova2 7) = 7*5*3 = 105.
Se provo con un numero pari va in loop...perchè?
Non dovrebbe essere per esempio: (prova2 6) = 6*4*2 = 48???