菜鸟成长之汉诺塔
2011-10-14 15:51
190 查看
汉诺塔问题,思想是用递归的办法,每次处理的过程是将n-1个先从A移动到B,再将最大的那个从B移动到C,再将B上的n-1个移动到C。代码
#include<stdio.h>
void Hanoi(int n,char a,char b,char c)
{
if(n==1)
printf("move %c to %c\n",a,c);
else
{
Hanoi(n-1,a,c,b);
printf("move %c to %c\n",a,c);
Hanoi(n-1,b,a,c);
}
}
void main(void)
{
int n;
char A='1',B='2',C='3';
printf("Enter the number of disks:");
scanf("%d",&n);
printf("The solution for %d :\n",n);
Hanoi(n,A,B,C);
}
#include<stdio.h>
void Hanoi(int n,char a,char b,char c)
{
if(n==1)
printf("move %c to %c\n",a,c);
else
{
Hanoi(n-1,a,c,b);
printf("move %c to %c\n",a,c);
Hanoi(n-1,b,a,c);
}
}
void main(void)
{
int n;
char A='1',B='2',C='3';
printf("Enter the number of disks:");
scanf("%d",&n);
printf("The solution for %d :\n",n);
Hanoi(n,A,B,C);
}
相关文章推荐
- Android菜鸟的成长笔记(9)——Intent与Intent Filter(下)
- Android菜鸟的成长笔记(19)——Service的生命周期
- 菜鸟如何成为一个高效程序员的成长之路
- 菜鸟到菜鸟的回归【我与51CTO一“七”成长】
- Android菜鸟的成长笔记(27)——SurfaceView的使用
- Android菜鸟在成长-ListView事件处理
- Android菜鸟在成长-时间对话框:TimePickerDialog
- 如何从网络菜鸟成长为网络技术高手
- Java菜鸟成长之路__Day_1_Java概述及基础语法
- 一只菜鸟的成长之路
- Java菜鸟成长之路__Day_4_Java_内部类
- 【菜鸟的成长之路】Oracle package 详解,适合新手
- 如何从菜鸟成长为(伪)架构师
- 菜鸟成长记-UICollectionView使用
- 菜鸟成长记
- 菜鸟成长记-妈妈再也不用担心正则了
- 菜鸟初成长
- 菜鸟成长日记
- 菜鸟成长记-根据输入的日期判断星期几
- 菜鸟成长手记-Centos网络配置后不能访问外网(之二)