summaryrefslogtreecommitdiff
path: root/cpp/hanoi.cc
blob: b4010602ef8a0b5a0974f03ec16f37b56b74fdd3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// ConsoleApplication1.cpp : definisce il punto di ingresso dell'applicazione console.
//
#include "stdafx.h"
#include <iostream>

using namespace std;

static unsigned long int tot = 0;

void hanoi(int d, int inizio, int fine, int transito)
{
	if (d == 1);
	else {
		hanoi(d - 1, inizio, transito, fine);
		hanoi(d - 1, transito, fine, inizio);
	}
	tot++;
}

int main()
{
	int dischi;
	cout << "Numero dischi: ";
	cin >> dischi;

	hanoi(dischi, 1, 3, 2);
	cout << "In totale: " << tot << " mosse" << endl;
	return 0;
}