c++《杨辉三角与递推算法》练习

2020-04-03 12:05

《杨辉三角与递推算法》练习

1、 义务植树(tree)

【问题描述】 3月12日植树节到了,小明的班主任带着全班同学到白云山义务植树。好不容易到了白云山,找到预先安排好的地方,班主任把工具分发下去,拿出一张图纸(如图1)展示给大家看,并说明要求:

我们班所有同学植的树要成一个等腰三角形,等腰三角形的两条腰上按顺序都是植1棵树,其他位置植树棵数等于它的左上角和右上角所植树的和。

小明负责本小组植树棵数的计算,例如第i行第j列这个位置应植多少棵树。小明认真看了一下图纸,傻眼了,这该怎么计算啊? 【输入格式】

输入文件只有1行:i和j两个数(1<=i,j<=101,j<=i),中间隔一个空格,表示植树位置为第i行第j个位置(从左往右数第j个)。 【输出格式】

输出文件只有一个数:所求位置上应植数的棵数。 【输入输出样例】 tree.in tree.out 5 3 2、 走楼梯(stairs)

【问题描述】有一段楼梯有n级台阶,规定每一步只能跨一级或两级,要登上第n级台阶有几种不同的走法? 【输入格式】

输入文件仅1行,1个正整数n(n<=1000)。 【输出格式】

输出文件仅1行,即走n级楼梯不同走法的数量。 【输入输出样例】 stairs.in 4

3、猴子吃桃(monkey)

【猴子吃桃】猴子摘了一堆桃,第一天吃了一半,还嫌不过瘾,又吃了一个;第二天,又吃了剩下的一半零一个;以后每天如此。到第十天,猴子一看只剩下一个了。 问最初有多少个桃子? 【输入格式】

输入文件仅1行,1个正整数n,表示猴子吃了n天的桃子(n<=50)。 【输出格式】

输出文件仅1行,即第1天时,那一堆桃子的数量。

stairs.out 5 6 【输入输出样例】 monkey.in 4 4、 汉诺单塔问题(hanoi)

【问题描述】hanoi塔由n个大小不同的圆盘和三根木柱a,b,c组成。开始时,这n个圆盘由大到小依次套在a柱上,如图1所示。要求把a柱上n个圆盘按下述规则移到c柱上:

monkey.out 5

(1)一次只能移一个圆盘; (2)圆盘只能在三个柱上存放;

(3)在移动过程中,不允许大盘压小盘。

问将这n个盘子从a柱移动到c柱上,需要最少移动多少次? 【输入格式】输入1个正整数n,表示在A柱上放有n个圆盘。

【输出格式】输出仅1行,包含一个正整数,为完成上述任务所需的最少移动次数An。 【输入输出样例】 hanoi.in 3 5、Hanoi双塔问题(hanois)

【问题描述】给定A、B、C三根足够长的细柱,在A柱上放有2n个中间有孔的圆盘,共有n个不同的尺寸,每个尺寸都有两个相同的圆盘,注意这两个圆盘足不加区分的(下图为n=3的情形)。现要将这些圆盘移到C柱上,在移动过程中可放在B柱上暂存。要求: (1)每次只能移动一个圆盘;

(2)A、B、C三根细柱上的圆盘都要保持上小下大的顺序;

任务:设An为2n个圆盘完成上述任务所需的最少移动次数,对于输入的n,输出An。 【输入格式】输入1个正整数n,表示在A柱上放有2n个圆盘。

【输出格式】输出仅1行,包含一个正整数,为完成上述任务所需的最少移动次数An。 【输入输出样例】 hanois.in 2 hanois.out 6 hanoi.out 7

【限制】对于50%的数据,1<=n<=25,对于100%的数据,l<=n<=200 【提示】设法建立An与An-1的递推关系式。


c++《杨辉三角与递推算法》练习.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:混凝土送检规范

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: