汉若塔递归实现

来源:互联网 发布:淘宝送货单 编辑:程序博客网 时间:2024/05/26 02:54

神奇的汉若塔神话留给了程序员来演绎:

#include "stdio.h"#include "string.h"void MoveSingle(char a,char b){printf("move from %c to %c \n",a,b);}void MoveTower(int n,char start, char end,char temp){if (n==1){MoveSingle(start,end);}else{MoveTower(n-1,start,temp,end);MoveSingle(start,end);MoveTower(n-1, temp,end, start);}}int main(){MoveTower(8, 'a','b', 'c');}

大家还是不要去追究递归是如何迭代的吧,反正计算机会帮我们完成,就让他迭代嘛,只要简单情景正确,分解子问题ok就解决啦。微笑