2015年1月2日 星期五

河內塔 c code

#include <stdlib.h>
#include <stdio.h>

void hanoi(int i , char A , char B , char C)
{
 if(i == 1)
 {
  printf("%c to %c\n" , A , C);
  return ;
 }
 
 hanoi(i-1 , A , C , B); //C當暫存 , A先移向B , i-1個
 hanoi(1 , A , B ,C); // A剩一個 , 移向  C , B當暫存
 hanoi(i-1 , B , A , C); //存在B的i-1移向C ,A當暫存
}

int main()
{
 int n;
 printf("please input n\n");
 scanf("%d", &n);
 hanoi(n, 'A', 'B', 'C');
 return 0;
}

沒有留言:

張貼留言