2018 母牛的故事

母牛的故事

Problem Description

有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?

Input

输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0 n=0表示输入数据的结束,不做处理。

Output

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

Sample Input

2
4
5
0

Sample Output

2
4
6

Author

lcy

Source

C语言程序设计练习(三)

Recommend

lcy | We have carefully selected several similar problems for you: 2041 2046 2044 2045 2050
AC代码:

#include "stdio.h"
int cow(int n)  
{  
    if(n <= 4)  
        return n;  
    else  
        return cow(n-1) + cow(n-3);  
}  

int main(void)  
{  
    int n;  
    
    while(scanf("%d", &n) != EOF) {  
         
        if(n == 0)  
            break;  
        
        
        printf("%d\n", cow(n));  
    }  
    
    return 0;  
}  

也可以写成递推式:相比递归能降低时间复杂度

for(int i=5;i<=n;i++){
      a[i]=a[i-1]+[i-3];
}

你可能感兴趣的:(2018 母牛的故事)