TA的每日心情 | 无聊 2016-9-11 15:26 |
---|
签到天数: 107 天 连续签到: 1 天 [LV.6]常住居民II 扫一扫,手机访问本帖
|
- #include <stdio.h>
- void hainuo(int n, char A, char B, char C);
- void move(char x, int n, char y);
- int fun;
- void main()
- {
- char ch1 ='A';
- char ch2 ='B';
- char ch3 ='C';
- int n;
- fun=0;
- printf("please input the num of the hainuo:\n>>");
- scanf("%d", &n);
- hainuo(n,ch1,ch2,ch3); //n个,从A,借助B,到C
- }
- void hainuo(int n, char A, char B, char C)
- {
- if(n==1)
- move(A,1,C);
- else{
- hainuo(n-1,A,C,B);
- move(A,n,C);
- hainuo(n-1,B,A,C);
- }
- }
- void move(char x, int n, char y)
- {
- fun++;
- printf("%d\t%d:%c->%c\n",fun,n,x,y);
- }
复制代码 fun为操作次数
输出格式:
次数 第n个盘子:操作柱子->目标柱子
|
|