斐波那契类数列集合(1010,1011,1012,1013,1004)

本文解析了五个经典算法问题,包括楼梯走法计数、蜜蜂路径计算、骨牌铺设方案、母牛繁殖数量预测及折线分割平面的最大数目,通过递推公式解决了实际问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Problem J

Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other)
Total Submission(s) : 120   Accepted Submission(s) : 68
Problem Description
有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?
 

Input
输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1<=M<=40),表示楼梯的级数。
 

Output
对于每个测试实例,请输出不同走法的数量
 

Sample Input
2 2 3
 

Sample Output
1 2
 
an=a(n-1)+a(n-2)a1=1  a2=1

Problem K

Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other)
Total Submission(s) : 141   Accepted Submission(s) : 52
Problem Description
有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行。请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数。<br>其中,蜂房的结构如下所示。<br><img src=../data/images/C40-1001-1.jpg><br>
 

Input
输入数据的第一行是一个整数N,表示测试实例的个数,然后是N 行数据,每行包含两个整数a和b(0<a<b<50)。<br>
 

Output
对于每个测试实例,请输出蜜蜂从蜂房a爬到蜂房b的可能路线数,每个实例的输出占一行。<br>
 

Sample Input
2 1 2 3 6
 

Sample Output
1 3
末尾与开始的位置差为数列第几项    an=a(n-1)+a(n-2)a1=1  a2=1

Problem L

Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other)
Total Submission(s) : 125   Accepted Submission(s) : 49
Problem Description
在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数.<br>例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图:<br><img src=../data/images/C40-1003-1.jpg>
 

Input
输入数据由多行组成,每行包含一个整数n,表示该测试实例的长方形方格的规格是2×n (0<n<=50)。<br>
 

Output
对于每个测试实例,请输出铺放方案的总数,每个实例的输出占一行。<br>
 

Sample Input
1 3 2
 

Sample Output
1 3 2
 
an=a(n-1)+a(n-2)    a1=1,a2=2;

Problem M

Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other)
Total Submission(s) : 113   Accepted Submission(s) : 66
Problem Description
有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
 

Input
输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。<br>n=0表示输入数据的结束,不做处理。
 

Output
对于每个测试实例,输出在第n年的时候母牛的数量。<br>每个输出占一行。
 

Sample Input
2 4 5 0
 

Sample Output
2 4 6
 
    an=a(n-1)+a(n-3)  a1=1  a2=2 a3=3

Problem N

Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other)
Total Submission(s) : 81   Accepted Submission(s) : 55
Problem Description
我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目。比如,一条折线可以将平面分成两部分,两条折线最多可以将平面分成7部分,具体如下所示。<br><img src=../data/images/C40-1008-1.jpg>
 

Input
输入数据的第一行是一个整数C,表示测试实例的个数,然后是C 行数据,每行包含一个整数n(0<n<=10000),表示折线的数量。<br><br>
 

Output
对于每个测试实例,请输出平面的最大分割数,每个实例的输出占一行。<br><br>
 

Sample Input
2 1 2
 

Sample Output
2 7
 

an=a(n-1)*4+4*n-3

 
解题思路:因为求的项数不是很多,找出递推公式循环之后打个表即可。但要注意是否考虑用 long long int。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值