|
|
楼主 |
发表于 2013-6-18 22:04:36
|
显示全部楼层
汉诺塔问题
#include <stdio.h>
unsigned int count = 0;
void hanoi(int n, char A, char B, char C)
{[blockquote]
if(n>0)
{
if (n == 1)
{
[/blockquote][blockquote]printf("%c->%c\n",A, C);
count++;
[/blockquote]
}
else
{
count++;
hanoi(n-1,A,C,B);
printf("%c->%c\n",A, C);
hanoi(n-1,B, A, C);
}
}
}
int main()
{[blockquote]
int n;
printf("How many dishes do you want to play?:");
scanf("%d",&n);
hanoi(n,'A','B','C');
printf("Totall move %d times\n",count);
return 0;[/blockquote]
}
|
|