汉诺塔
来源:互联网 发布:淘宝如何开话费充值 编辑:程序博客网 时间:2024/04/29 10:33
1. 汉诺塔问题:
设有三个塔座,依次命名为X,Y,Z,设n个直径不同的圆盘,从小到大依次编号为1,2,3,…….n。开始时,它们全部按递减的次序插在塔座上。现要求按下列规则把n个圆盘按次序插放在Z塔座上。
(1) 每次只能移动一个圆盘;
(2) 圆盘可以从任一个塔座上移到另一个塔座上;
(3) 任何时刻都不能把一个较大的圆盘压在较小的圆盘上。
#include<cstdio>using namespace std;void han(int n,char a,char b,char c){ if(n==1){ printf("%c->%c\n",a,c); return; } han(n-1,a,c,b); printf("%c->%c\n",a,c); han(n-1,b,a,c);}int main(){ int n; scanf("%d",&n); han(n,'A','B','C'); return 0;}
1 0
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 从01背包问题理解动态规划
- 2016sdau课程练习专题二 1002
- class和id的区别
- 聚类方法
- android一些常用事件
- 汉诺塔
- 深入理解JVM之四:类加载过程
- mt7628 gpio模拟spi驱动si32171
- jQuery学习笔记二——jQuery选择器
- SQL中的汇总数据(其实是聚集函数)
- ArcGIS Runtime SDK for iOS(三) --- Callout的自定义属性展示
- UVA 10651 Pebble Solitaire
- 网站的email地址
- 在Eclipse环境下编写ABAP程序