本文主要是介绍Tower of Hanoi,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一本日文数据结构书上看到的 用了递归
代码如下‘
#include <stdio.h>
void TowerOfHanoi(int disk, char from, char via, char to){if (disk==1){printf("円盤: %d を%cから%cへ移動する\n", disk, from, to);}else{TowerOfHanoi(disk-1, from, to, via);printf("円盤: %d を%cから%cへ移動する\n", disk, from, to);TowerOfHanoi(disk-1, via, from, to);}
}main(){TowerOfHanoi(3,'A','B','C');
}
执行后结果如下
円盤: 1 をAからCへ移動する 円盤: 2 をAからBへ移動する 円盤: 1 をCからBへ移動する 円盤: 3 をAからCへ移動する 円盤: 1 をBからAへ移動する 円盤: 2 をBからCへ移動する 円盤: 1 をAからCへ移動する
这篇关于Tower of Hanoi的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!