Beh... il passo ricorsivo è sbagliato.
Se y non è uguale a 1 richiami la funzione passandogli y-1... alla fine arriverai a y = 1 e verrà restituito x. Da nessuna parte fai alcun calcolo (ovvero, il passo ricorsivo).
Prova a ragiunarci un po' su...
Questo è ciò che viene fatto dalla tua funzione, passo per passo (con y = 3 altrimenti diventa lunghino):
codice:+-- prodotto(5, 3) 3 == 1 ? No: +--+-- prodotto (5, 2) 2 == 1 ? No: +--+--+-- prodotto (5, 1) 1 == 1 ? Sì: +--+--+-- ritorno 5 +--+-- ritorno 5 +-- ritorno 5 Stampo 5
Ciao.

 
			
			

 
					
					
					
						 Rispondi quotando
  Rispondi quotando