1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > swust oj143: Hanoi塔问题

swust oj143: Hanoi塔问题

时间:2018-07-24 10:22:23

相关推荐

swust oj143: Hanoi塔问题

#include <stdio.h>

void hanoi(int n,char A,char B,char C);

void move(char A,char B);

int cnt=0;

int main()

{

int n;

while(scanf("%d",&n)!=EOF){ //输入n表示开始时A塔座上的盘子数

if(n==0){

break;

}

hanoi(n,'A','B','C');

if(cnt%5!=0){

printf("\n");

}

cnt=0;

}

return 0;

}

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);

}

}

void move(char A,char B){

if((cnt==0)||(cnt>=5&&cnt%5==0)){

printf("%c-->%c",A,B);

cnt++;

}

else{

printf(" %c-->%c",A,B);

cnt++;

}

if(cnt%5==0){

printf("\n");

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。