汉诺塔问题hdu 2065——找规律
这类题目就是纸上模拟,找规律。
问题描述:在一块铜板上有三根杆,目的是将最左边杆上的盘全部移到右边的杆上,条件是不允许直接从最左(右)边移到最右(左)边(每次移动一定是移到中间杆或从中间移出),也不允许大盘放到下盘的上面
问:现在有N个圆盘,她至少多少次移动才能把这些圆盘从最左边移到最右边?
纸上模拟:模拟之后发现将圆盘从左移动到中间的次数=从中间移到右边=1/2从左边移到右边次数
f(n)表示至少n次移动才能把这些圆盘从最左边移到中间 a(n)表示第n个圆盘移动的次数
当n=1时,f(1)=1 a(1)=1
当n=2时,f(2)=4 a(1)=3 a(2)=1
当n=3时,f(3)=13 a(1)=9 a(2)=3 a(3)=1
规律:a(n)呈现以3为公比的等比数列,f(n)为等比数列的和
所以:从左边移到中间需:s(n)=(3^n-1)/2;
从左边移到右边需:s(n)=(3^n-1);
代码:
![](/assets/blank.gif)
![](/assets/blank.gif)
#include<iostream> using namespace std; int main() {int n;while(cin>>n){long long sum=1;for(int i=0;i<n;i++)sum=sum*3;sum=sum-1;cout<<sum<<endl;} }
View Code
转载于:https://www.cnblogs.com/Aiahtwo/p/10460535.html
汉诺塔问题hdu 2065——找规律相关推荐
- 汉诺塔III HDU - 2064
汉诺塔III HDU - 2064 约19世纪末,在欧州的商店中出售一种智力玩具,在一块铜板上有三根杆,最左边的杆上自上而下.由小到大顺序串着由64个圆盘构成的塔.目的是将最左边杆上的盘全部移到右边的 ...
- 汉诺塔问题——“分步和”的规律(一种全新的理解)
汉诺塔是一个经典问题,相传在古印度圣庙中,有一种被称为汉诺塔(Hanoi)的游戏.该游戏是在一块铜板装置上,有三根杆(编号A.B.C),在A杆自下而上.由大到小按顺序放置n个金盘.游戏的目标:把A杆上 ...
- 汉诺塔问题 hdu 2064 hdu1997
hdu 1997汉诺塔 题目分析: 转自:http://lcc3536.blog.163.com/blog/static/132469917201132283640123/ 1) 最初我们要判断一下 ...
- 汉诺塔 X HDU - 2511
题目: 1,2,-,n表示n个盘子.数字大盘子就大.n个盘子放在第1根柱子上.大盘不能放在小盘上.在第1根柱子上的盘子是a[1],a[2],-,a[n]. a[1]=n,a[2]=n-1,-,a[n] ...
- 汉诺塔python创新设计_递归经典案例汉诺塔 python实现
最近在廖雪峰大神的教程学习python 学到递归的时候有个汉诺塔的练习,汉诺塔应该是学习计算机递归算法的经典入门案例了,因此本人以为能够写篇博客来表达一下本身的看法.这markdown编辑器还不怎么会 ...
- 【恋上数据结构】递归(函数调用过程、斐波那契数列、上楼梯、汉诺塔、递归转非递归、尾调用)
递归(Recursion) 什么是递归? 函数的调用过程(栈空间) 函数的递归调用过程 递归实例分析(1 + 2 + 3 + ... + 100 的和) 递归的基本思想.使用套路 斐波那契数列 fib ...
- python面向过程实践汉诺塔_递归汉诺塔-和递归汉诺塔相关的内容-阿里云开发者社区...
多柱汉诺塔最优算法设计探究 多柱汉诺塔最优算法设计探究 引言 汉诺塔算法一直是算法设计科目的最具代表性的研究问题,本文关注于如何设计多柱汉诺塔最优算法的探究.最简单的汉诺塔是三个柱子(A.B.C),因 ...
- 算法 - 递归实现汉诺塔(The Tower of Hanoi)
目录 引言: 分析: 分析两片汉诺塔的迁移过程: 分析三片汉诺塔的迁移过程: 代码实现: 递归出口: 递归过程: 完整程序代码: 运行结果: 参考资料: 引言: 今天接触到了一个非常有意思的 ...
- c#语言编写汉诺塔游戏,c# 实现汉诺塔游戏
汉诺塔游戏一旦掌握了规律,其实是有点单调和无聊的,不过却是学习递归的一个绝佳例子,想当初学习老谭C的时候,就卡在这儿好长时间. 对初学编程的人来说,递归本身就不易理解,如果使用C语言没有好的调试环境就 ...
最新文章
- 实战:使用Nginx限流
- c6011取消对null指针的引用_C++中的野指针及其规避方法
- 震惊!html文件注释也会影响运行代码!(werkzeug.routing.BuildError: Could not build url for endpoint)莫名其妙
- 《信息学奥赛一本通》回文数(Noip 1999)
- JSON –拯救杰克逊
- 博主推荐【文件Hash校验工具V1.0 -免费版】
- object-c中对文件和url操作
- jquery 找不到live方法解决
- Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,java 判断请求是不是ajax请求
- SAP License:雾里看花系列——SAP应用应该更关注业务过程
- 磁盘分区需要知道的概念
- [Android学习笔记]startActivityForResult和onActivityResult的使用
- 时序图(Sequence Diagram)—UML图(六)
- include 头文件循环引用问题
- python安装第三方库太慢,很容易失败报错?教你如何提速
- 如何在Mac上裁剪图片,教你几个技巧
- 谷歌邮箱lmap服务器填什么_解决Gmail的imap收发邮件无法连接服务器的问题
- MySQL中rank函数的使用
- C语言实现Base64编解码(加密和解密)
- php中md5加密函数怎么用,用PHP写的MD5加密函数
热门文章
- boost::hana::Comparable用法的测试程序
- boost::hana::greater_equal用法的测试程序
- boost::hana::is_a用法的测试程序
- Boost.Flyweight 复合设计示例
- GDCM:获取序列超声的测试程序
- GDCM:模板空白图片的测试程序
- ITK:创建3D体积
- ITK:创建一个点集
- VTK:绘图之BoxChart
- VTK:模型之DiscreteMarchingCubes