1 条题解
-
0
C :
#include<stdio.h> void hanoi(int n,char x,char y,char z); void move(char a,char b); int main() { int n; scanf("%d",&n); hanoi(n,'A','B','C'); return 0; } void hanoi(int n,char x,char y,char z) { if(n==1) move(x,z); else { hanoi(n-1,x,z,y); move(x,z); hanoi(n-1,y,x,z); } } void move(char a,char b) { printf("%c->%c\n",a,b); }
C++ :
#include <stdio.h> void move(char x, char y) { printf("%c->%c\n", x, y); } void hanoi(int n, char a, char b, char c) { if (n == 1) { move(a, c); } else { hanoi(n - 1, a, c, b); move(a, c); hanoi(n - 1, b, a, c); } } int main() { int n; scanf("%d", &n); hanoi(n, 'A', 'B', 'C'); return 0; }
Pascal :
var x,y,z:char; n,k:longint; procedure sub(n:longint; a,c,b:char); begin if(n=0) then exit; sub(n-1,a,b,c); inc(k); writeln(a,'->',c); sub(n-1,b,c,a); end; begin readln(n); k:=0; x:='A'; y:='B'; z:='C'; sub(n,x,z,y); end.
- 1
信息
- ID
- 1579
- 时间
- 1000ms
- 内存
- 32MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者