天天看点

斐波那契类数列集合(1010,1011,1012,1013,1004) Problem J Problem K Problem L Problem M Problem N

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。