第12周项目3汉诺塔--移动步骤(递归函数)
来源:互联网 发布:海珠区淘宝美工培训 编辑:程序博客网 时间:2024/06/06 18:43
问题及代码:
/* *Copyright (c)2014,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:hannuota.cpp *作 者:单昕昕 *完成日期:2014年11月13日 *版 本 号:v1.0 * *问题描述:汉诺塔的游戏。*程序输出:n个盘子的移动步骤。*/ #include <iostream>using namespace std;int move(int n,char A,char B,char C);int main(){ int n; cin>>n; //有n个盘子 move(n,'A','B','C'); return 0;}//有n个盘子,int move(int n,char A,char B,char C){ if(n==1) cout<<A<<"-->"<<C<<endl; else { move(n-1,A,C,B); cout<<A<<"-->"<<C<<endl; move(n-1,B,A,C); }}
运行结果:
————————————————————————四个盘子——————————————————————————————
————————————————————————三个盘子——————————————————————————————
————————————————————————15个盘子的部分截图——————————————————————————————
知识点总结:
汉诺塔的玩法要知道。
学习心得:
感觉这个函数的技巧性很高啊,真费脑子╮(╯▽╰)╭盘子越多步骤越多,满足函数f(n)=2*f(n)+1.
0 0
- 第12周项目3汉诺塔--移动步骤(递归函数)
- 第12周项目3最大公约数(递归函数)
- 递归函数输出汉诺塔移动步骤
- 第12周项目3求“1*3*5*...*n”的递归式(递归函数)
- 第12周项目3求第20个斐波那契--Fibnacci数(递归函数)
- 第12周项目1(3-1)-递归函数
- 第12周项目1(3-2)-递归函数
- 第12周项目3-递归函数求最大公约数
- 第12周项目3-用递归函数求解--汉诺塔问题
- 第12周项目3.2 用递归函数写出1*3*....*n的递归式
- 第12周 项目3-(3)用递归函数求出两个数的最大公约数
- 第12周项目3 用递归函数求解(3、求两个数的最大公约数)
- 第12周项目1-阅读程序(3)递归函数
- 第12周项目3求n的阶乘(递归函数)
- 第12周项目3求两个数的最大公约数(递归函数)
- 第12周项目1(3)-阅读有递归函数的程序并输出结果
- 第12周项目1(3)-阅读有递归函数的程序并输出结果
- 第12周项目3十进制转换为二进制(递归函数)
- 多分辨率风场数据可视化
- 第12周项目2 刑警的射击成绩
- c#操作Excel
- 蓝牙核心技术概述(五):蓝牙协议规范(irOBEX、BNEP、AVDTP、AVCTP)
- 多元线性回归模型中多重共线性问题处理方法
- 第12周项目3汉诺塔--移动步骤(递归函数)
- 题目1026:又一版 A+B
- HTML5高级编程之图形扭曲及其应用一(原理篇)
- Android帧缓冲区(Frame Buffer)硬件抽象层(HAL)模块Gralloc的实现原理分析
- 阿里dubbo工程的搭建
- XMLHttpRequest是什么、怎样完整地执行一次GET请求、怎样检测错误。
- VSFTP增加用户并只能访问指定目录
- libvlc_media_add_option 函数中的参数设置
- android linker 浅析