递推练习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章 递推练习
2014-2-23
例1:已知费波那契数列的前几个数分别为0,1,1,2,3,5,8,13,……,编程求此数列的前n 项。 样例输入:30
样例输出:514229
例2:用迭代法求y=
的值。X 由键盘输入。利用下列迭代公式计算yn=2/3*yn-1+x/(3*yn-1*yn-1),初始值y0=x ,误差要求在10-4
练习1:楼梯问题
问题描述:设有一个共有n 级的楼梯,某人每步可走1级,也可走2级,用递推公式给出某人从底层开始走完全部楼梯的走法。例如:当n=3时,共有3种走法,即1+1+1 1+2 2+1. 输入数据:n 为6
输出数据:13
[练2] 小猴子第一天摘下若干桃子,当即吃掉一半,又多吃一个.第二天早上又将剩下的桃子吃一半,又多吃一个.以后每天早上吃前一天剩下的一半另一个.到第10天早上猴子想再吃时发现,只剩下一个桃子了.问第一天猴子共摘多少个桃子?
例3:问题描述:火车从始发站(称为第一站)开出,在始发站上车的人数为a ,然后到达第二站,在第2站有人上车、下车,但上、下车的人数相等,因此在第2站开出时(即到达第3站之前)车上的人数保持为a 人。从第3站起(包括第3站)上、下车的人数有一定的规律:上车的人数都是前两站上车人数之和,而下车人数等于上一站上车人数,一直到终点站的前一站(n-1站),都满足此规律。现给出的条件是:共有n 个车站,始发站上车的人数为a ,最后一站下车的人数是m (全部下车)。试问在第2站上车的人数?从x 站开出时车上的人数是多少?
输入:a,n,m,x
输出:x 站开出时车上的人数,如果无法求解则输出‘noanswer’
输入:5 7 32 4
输出:3 13
练习3、栈(noip2003pj )题目大意:求n 个数通过栈后的排列总数。(1≤n ≤18) 如输入 3 输出 5
练习4、过河卒棋盘上A 点有一个过河卒,需要走到目标B 点。卒行走的规则:可以向下、或者向右。同时在棋盘上的任一点有一个对方的马(如下图中的C 点),该马所在的点和所有跳跃一步可达的点称为对方马的控制点(如下图中的C 点和P1,P2,……,P8)。卒不能通过对方马的控制点。棋盘用坐标表示,A 点(0,0)、B 点(n, m) (n,m 为不超过20的整数),同样马的位置坐标是需要给出的,C ≠A 且C ≠B 。现在从键盘输入n ,m ,要你计算出卒从A 点能够到达B 点的路径的条数。
输入:6 6 3 2
输出:17
扩展1、贮油点:一辆重型卡车欲穿过1000公里的沙漠,卡车耗汽油为1升/公里,卡车总载油能力为500公升。显然卡车装一次油是过不了沙漠的。因此司机必须设法在沿途建立若干个贮油点,使卡车能3x
顺利穿过沙漠。试问司机如怎样建立这些贮油点?每一贮油点应存储多少汽油,才能使卡车以消耗最少汽油的代价通过沙漠?
编程计算及打印建立的贮油点序号,各贮油点距沙漠边沿出发的距离以及存油量。格式如下:
–No. Distance(k.m.) Oil(litre)
–1 ××××
–2 ××××
–……………
扩展2:骑士游历:(noip1997tg)
设有一个n*m的棋盘(2<=n<=50,2<=m<=50),如下图,在棋盘上任一点有一个中国象棋马,
马走的规则为:1.马走日字 2.马只能向右走,即如下图所示:
任务1:当N,M 输入之后,找出一条从左下角到右上角的路径。
例如:输入 N=4,M=4
输出:路径的格式:(1,1)->(2,3)->(4,4)
若不存在路径,则输出"no"
任务2:当N,M 给出之后,同时给出马起始的位置和终点的位置,试找出从起点到终点的所有路径的数目。
例如:(N=10,M=10),(1,5)(起点),(3,5)(终点)
输出:2(即由(1,5)到(3,5)共有2条路径)
输入格式:n,m,x1,y1,x2,y2(分别表示n,m,起点坐标,终点坐标)
输出格式:路径数目(若不存在从起点到终点的路径,输出0)