วันจันทร์ที่ 3 มีนาคม พ.ศ. 2551

The Tower of Hanoi




#include "stdio.h"
#include "conio.h"

void moveDisk(int n,char a,char c,char b)
{
if (n==1) /*หากแหวนวงเดียว ย้ายจากเสา A ไปยังเสา C */
{
printf("move disk 1 from peg %c to peg %c \n",a,c);
}
else
{
moveDisk(n-1,a,b,c); /*ย้ายแหวน n-1 วง จาเสา A ไปยังเสา B โดยใช้เสา C เป็นเสาพักชั่วคราว */
printf("move disk %d from peg %c to peg %c \n",n,a,c);
moveDisk(n-1,b,c,a); /*ย้ายวงแหวน n-1 วง จากเสา b ไปยังเสา C โดยใช้เสา A เป็นที่พักชั่วคราว*/
}

} /*moveDisk*/

void main()
{ int n = 3;
clrscr();
moveDisk(n,'A','C','B');
}

ไม่มีความคิดเห็น: