Problema delle torri di Hanoi

Nevermind

Nuovo Utente
11 Set 2006
2
0
0
Ciao a tutti,
sono nuovo e innanzitutto vi faccio i miei complimenti per il forum. Studio C da qualche mese come autodidatta e ora mi sono trovato di fronte ai problemi della ricorsione ed in particolare ad uno relativo alle torri di Hanoi (do per scontato che sappiate già di cosa parlo). Ho trovato la soluzione in rete ma non riesco a capire quale sia la logica della funzione power di questo programma.
Codice:
void tower (int c, int start, int end, int temp)
{ 
   if (c == 1){ 
      printf ("%d --> %d\n", start, end);
      return;}   

   tower (c - 1, start, temp, end);

   printf ("%d --> %d\n", start, end);

   tower (c - 1, temp, end, start);
}
Qualcuno mi può aiutare per favore?:crying:
 
Ho dato un'occhiata al link ma non ci capisco ancora granchè.
Ho capito che le due chiamate ricorsive della funzione producono nello stesso ordine entrambe (2^n-1)-1 abbinamenti. Ad esempio con c=3 1-3, 1-2, 3-2, poi stampa start-end e l'ultima chiamata produce lo stesso risultato ma con un ordine diverso dei parametri. Sapresti spiegarmi come "si comporta" la chiamata ricorsiva?? Sono tre giorni che mi scervello:dipser: :eek: , ma ancora non ci arrivo.
 

Discussioni simili

M
Risposte
0
Visite
1K
HTML e CSS
Membro cancellato 26246
M