Hanoi塔问题
这里有2个塔,A B C 怎么样把A的盘子按照A上面的大小顺序逻到C上!假设这里A上面是N呢
谁帮我看下 ...
搜索更多相关的解决方案:
Hanoi
----------------解决方案--------------------------------------------------------
百度知道里面找的
void move(char x,char y){
printf("%c-->%c\n",x,y);
}
void hanoi(int n,char one,char two,char three){
/*将n个盘从one座借助two座,移到three座*/
if(n==1) move(one,three);
else{
hanoi(n-1,one,three,two);
move(one,three);
hanoi(n-1,two,one,three);
}
}
main(){
int n;
printf("input the number of diskes:");
scanf("%d",&n);
printf("The step to moving %3d diskes:\n",n);
hanoi(n,'A','B','C');
return 0;
}
----------------解决方案--------------------------------------------------------
呵呵 !
好像任意一本C语言教材都会有 的 哦 ! ----------------解决方案--------------------------------------------------------