c典型算法 递归
2008-10-20 14:14
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");
}
相关文章推荐
- c典型算法 递归
- 用递归法:设计算法求解汉诺塔问题,并编程实现。 (1) Hanoi(汉诺)塔问题分析 这是一个古典的数学问题,是一个用递归方法解题的典型例子。问题是这样的:古代有一个梵塔,塔内有3个座 A,B,C
- 简析递归思想及其典型算法
- 20170219C++项目班02_02递归下降算法/解析器/Scanner实现
- 操作系统典型调度算法
- C#递归算法之分而治之策略
- 无聊时总结总结算法之01递归
- 汉诺塔 算法(递归和非递归算法)
- 蓝桥杯_算法训练_2的次幂表示(递归)
- 算法训练 6-1 递归求二项式系数值
- (数据结构与算法分析 一)------快速求幂算法,Java递归实现
- zoj 1119 / poj 1523 SPF (典型例题 求割点 Tarjan 算法)
- 【算法】递归求解几类排列组合问题
- 全排列算法递归与非递归解析+代码
- 两两组合算法-递归实现方法
- 递归 汉诺塔问题 Java数据结构与算法
- 0002算法笔记——【递归】排列问题,整数划分问题,Hanoi问题
- Java垃圾回收机制与典型的垃圾回收算法
- 一步一步写算法(之递归和堆栈)
- 算法:非递归遍历二叉树