Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
Le torri di Hanoi risolte

Le torri di Hanoi risolte

19531_size.jpg
L'algoritmo che risolve le torri di Hanoi è di sole 5 righe
in C++

Codice sorgente - presumibilmente C++

  1. #include <iostream>

  2. using std::endl;

  3. using std::cout;

  4. using std::cin;

  5.  

  6. void hanoi(int,int,int,int);

  7.  

  8. int main(void)

  9. {

  10.     int numeroDischiIniziali;

  11.  

  12.     cout << "Inserisci il numero di dischi iniziali: ";

  13.     cin >> numeroDischiIniziali;

  14.  

  15.     // sposto i dischi dal paletto 1 al 3 con il paletto 2 temporaneo

  16.     hanoi(numeroDischiIniziali,1,3,2);

  17.  

  18.     return 0;

  19. }

  20.  

  21. void hanoi(int dischiDaMuovere, int palettoIniziale, int palettoFinale, int palettoTemporaneo)

  22. {

  23.     // sposto i dischi dal paletto 1 al 2 con il paletto 3 temporaneo

  24.     if(dischiDaMuovere>1)

  25.         hanoi(dischiDaMuovere-1,palettoIniziale,palettoTemporaneo,palettoFinale);

  26.  

  27.     cout << palettoIniziale << " -> " << palettoFinale << endl;

  28.  

  29.     // sposto i dischi dal paletto 2 al 3 con il paletto 1 temporaneo

  30.     if(dischiDaMuovere>1)

  31.         hanoi(dischiDaMuovere-1,palettoTemporaneo,palettoFinale,palettoIniziale);

  32. }




in VB .NET
Codice sorgente - presumibilmente VB.NET

  1. Public Sub hanoi(ByVal dischiDaMuovere As Integer, ByVal palettoIniziale As Integer, ByVal palettoFinale As Integer, ByVal palettoTemporaneo As Integer)

  2.  

  3.         ' algoritmo scritto da Michele http://www.pierotofy.it/pages/sorgenti/dettagli/18861-Le_torri_di_Hanoi/ in C++, da me tradotto in Vb .NET

  4.  

  5.         ' sposto i dischi dal paletto 1 al 2 con il paletto 3 temporaneo ----------------

  6.  

  7.         If dischiDaMuovere > 1 Then

  8.             hanoi(dischiDaMuovere - 1, palettoIniziale, palettoTemporaneo, palettoFinale)

  9.         End If

  10.         ' -------------------------------------------------------------------------------

  11.         ' sposto i dischi dal paletto 2 al 3 con il paletto 1 temporaneo ---------------

  12.  

  13.         If dischiDaMuovere > 1 Then

  14.             hanoi(dischiDaMuovere - 1, palettoTemporaneo, palettoFinale, palettoIniziale)

  15.         End If

  16.         ' ------------------------------------------------------------------------------

  17.     End Sub




Categoria: Matematica e fisica / Visual Basic .NET
Piattaforma:

Downloads: 4
Rating: (0 voti)
Data: 04/04/2018
Download

A proposito dell'autore

VB6, VB .NET Interfacciamento PC e Hardware via rs232, SNMP, USB, Lan. Software per automazione e studi televisivi. Software telecontrolli. Software per impianti fotovoltaici.

Aggiungi un commento

Inserisci il tuo commento qui
Esegui il login oppure registrati per inviare commenti