递推与递归算法练习题2013.10 下载本文

内容发布更新时间 : 2024/5/18 20:41:58星期一 下面是文章的全部内容请认真阅读。

递推与递归算法练习题

1.实数数列(realsn)

源程序名 realsn.??? (pas,c,cpp) 输入文件名 realsn.in 输出文件名 realsn.out 时间限制 1秒 【问题描述】

一个实数数列共有n项,已知 a[i]=(a[i-1]-a[i+1])/2+d,(1

输入第一行为n,m,d。第二行为,a[1],a[n]两个整数。 【输出文件】

输出a[m],结果保留6位小数。 【样例输入】 3 2 2 1 -3

【样例输出】 4.000000

2.金坷垃(buc)

源程序名 buc.??? (pas,c,cpp) 输入文件名 buc.in 输出文件名 buc.out 时间限制 1秒

金坷垃,金坷垃,小麦亩产一千八。金坷垃,金坷垃,一袋能当两袋撒。某牛看准了金坷垃的光明前途,已经储存了整整一满仓的金坷垃,这个仓库能放下N的金坷垃。

日本资源太缺乏,非洲农业不发达,日本和非洲纷纷要求购入。为了避免被偷被抢,作为奸商的某牛,又另外租了两个容量分别为Q和P的仓库。他每次可以把一个仓库中的金坷垃不停地运到另一个仓库,直到目标仓库满了,或者当前仓库空了。他如此这番折腾了很多次。至于多少次,某牛自己也忘了。终于,某牛只知道,容量为Q的仓库终于是空了。那么现在,最初容量为N的那个仓库,可能会有多少金坷垃咧?(显然某些金坷垃已经直接或者间接地运到了容量为P的仓库)

Input Format

输入三个数Q,P,N。分别表示新租的两个仓库的容量和原来的仓库容量。 Output Format

输出一行,从小到大输出最初的仓库可能的金坷垃数量。(本题的金坷垃单位,全部为Kg) Sample Input

8 9 10 Sample Output 1 2 8 9 10 Data Limit

30%:Q,P,N<=10

60%:Q,P,N<=100 100%:Q,P,N<=1000

3.字母组合(charcom)

源程序名 charcom.??? (pas,c,cpp) 输入文件名 charcom.in 输出文件名 charcom.out 时间限制 1秒 问题描述:

字母A,B,C的所有可能的组合(按字典顺序排序)是: A,AB,ABC,AC,B,BC,C

每个组合都对应一个字典顺序的序号,如下所示: 1 A 2 AB 3 ABC 4 AC 5 B 6 BC 7 C

找出某个字母组合的字典序号。例如,上例中AC的字典序号是4。 注:假设某个字母组合为X1X2X3…XK,保证X1

输入:

输入包括2行:

第一行:N,表示字母组合由字母表中前N(N<=26)个字母组成; 第二行:某一个字母组合,都是大写字母;

输出:

该字母组合的序号;

输入样例: 3 AB

输出样例: 2

4.拔河比赛(tug)

源程序名 tug.??? (pas,c,cpp) 输入文件名 tug.in 输出文件名 tug.out 时间限制 2秒 问题描述:

一个学校举行拔河比赛,所有的人被分成了两组,每个人必须(且只能够)在其

中的一组,要求两个组的人数相差不能超过1,且两个组内的所有人体重加起来尽可能地接近。 输入:

数据的第1行是一个n,表示参加拔河比赛的总人数,n<=100,接下来的n行表示第1到第n个人的体重,每个人的体重都是整数(1<=weight<=450)。 输出:

包含两个整数:分别是两个组的所有人的体重和,用一个空格隔开。注意如果这两个数不相等,则请把小的放在前面输出。 输入样例: 3 100 90 200

输出样例: 190 200

5.pascal编的题【棋盘覆盖】【黑白染色】【覆盖】【残缺棋盘覆盖】 描述:给出一张n*k(n<=100)的国际象棋棋盘,其中被删除了一些点,问可以使用多少1*2的多米诺骨牌进行掩盖。(被删除的点不能用多米诺骨牌覆盖)

输入格式:

第一行为n,k,第二行 m(表示有m个删除的格子),第三行到m+2行为x,y,分别表示删除格子所在的位置,x为第x行,y为第y列

输出格式:一个数,表示最多用多少多米诺骨牌 样例 Input 4 4 6 1 1 1 4 2 2 4 1 4 2 4 4 Output 4

【提示】

可以黑白染色然后用最大二分图匹配。

6.编程设有一个n*m方格的棋盘(1<=m,n<=100),求该棋盘包含多少正方形,长方形?

题目: 编程设有一个n*m方格的棋盘(1<=m,n<=100)求该棋盘包含多少正