汉诺塔问题(竟然还与Sierpiński三角形分形有关) - c语言源码
#include <iostream>
using namespace std;
void Move(int &x, int &y) // 没有真正移动盘子,只是输出方案
{
cout << x << ” –> ” << y << endl;
}
void Hanoi(int n, int a, int b, int c)
{
if(n > 0) {
Hanoi(n – 1, a, c, b);
Move(a, c);
Hanoi(n – 1, b, a, c);
}
}
int main(void)
{
int num;
cout << “How many diskes?” << endl;
cin >> num;
Hanoi(num, 1, 2, 3);
return 0;
}
看到维基百科上的介绍,页面上出现了个谢尔宾斯基三角形,有待深究。