#include<stdio.h> void hanoi(int n,char x,char y,char z); void move(char x,int n,char y); int i=1; int main() { int n; while(scanf("%d",&n)!=EOF) { i=1; hanoi(n,'X','Y','Z'); putchar('\n'); } return 0; } void hanoi(int n,char x,char y,char z) { if(n==1) {move(x,1,z);return ;} else{ hanoi(n-1,x,z,y); move(x,n,z); hanoi(n-1,y,x,z); return ; } } void move(char x,int n,char y) { printf("%2d. Move disk %d from %c to %c\n",i++,n,x,y); return ; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题6.7 (C语言代码)浏览:646 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:1059 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:585 |
WU-输入输出格式练习 (C++代码)浏览:1082 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:543 |
三角形 (C++代码)递推浏览:760 |
关于C语言变量位置的问题浏览:273 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:567 |
1014题解浏览:485 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:514 |