c典型算法 递归
2007-09-06 10:59
190 查看
--------------------------------
#include <stdio.h>
#include <stdlib.h>
static int count = 0;
int print( char x,char y)
{
printf( "%c ---> %c/n", x, y);
return ++count;
}
void move(int n,char x,char y,char z)
{
int count=0;
if(n==1)
{
print(x,z);
}
else
{
move(n-1,y,x,z);
print(x,z);
//count++;
move(n-1,z,y,x);
// return count;
}
}
void main(void)
{
int m;
printf("输入汉诺塔层数:/n");
scanf("%d",&m);
move(m,'A','B','C');
printf("移动了%d次/n",count);
system("pause");
}
#include <stdio.h>
#include <stdlib.h>
static int count = 0;
int print( char x,char y)
{
printf( "%c ---> %c/n", x, y);
return ++count;
}
void move(int n,char x,char y,char z)
{
int count=0;
if(n==1)
{
print(x,z);
}
else
{
move(n-1,y,x,z);
print(x,z);
//count++;
move(n-1,z,y,x);
// return count;
}
}
void main(void)
{
int m;
printf("输入汉诺塔层数:/n");
scanf("%d",&m);
move(m,'A','B','C');
printf("移动了%d次/n",count);
system("pause");
}
相关文章推荐
- 用递归法:设计算法求解汉诺塔问题,并编程实现。 (1) Hanoi(汉诺)塔问题分析 这是一个古典的数学问题,是一个用递归方法解题的典型例子。问题是这样的:古代有一个梵塔,塔内有3个座 A,B,C
- 简析递归思想及其典型算法
- c典型算法 递归
- Java垃圾回收机制与典型的垃圾回收算法
- 两两组合算法-递归实现方法
- 算法:非递归遍历二叉树
- 递归 汉诺塔问题 Java数据结构与算法
- 0002算法笔记——【递归】排列问题,整数划分问题,Hanoi问题
- 一步一步写算法(之递归和堆栈)
- 分治与递归(算法分析与设计)
- 预排序遍历树算法(非递归无限极分类算法)
- 算法设计-全排列递归
- 【算法基础】递归分治算法解决汉诺塔问题
- 蓝桥杯C语言培训3 典型问题的递归框架 例题2 搭积木
- 典型问题的递归框架(全排列)
- 数据结构和算法--二叉树创建和递归遍历
- 典型问题的递归框架(搭积木)
- 精典二叉树非递归遍历的算法
- C/C++面试之算法系列--菲波拉契数列的递归与非递归算法
- [算法之美:3.2](递归)电话号码对应的英语单词