#include<stdio.h>
#include<math.h>
#include<iostream>
using namespace std;
int num = 0;
void Hannuota(int n,int sou,int loc, int tmp)
{
if (n == 0)return;
Hannuota(n - 1, sou, tmp, loc);
cout << sou << "塔到" << loc << endl; num++;
Hannuota(n - 1, tmp, loc, sou);
}
int main()
{
int n;//n层汉诺塔
do
{
cout << "输入汉诺塔层数:" << endl;
cin >> n;
num = 0;
Hannuota(n, 1, 3, 2);
cout <<n<< "层汉诺塔最少需要" <<num<<"步" << endl;
} while (1);
return 0;
}
汉诺塔(C语言)
最新推荐文章于 2023-05-02 00:49:01 发布