杭电Oj刷题(2018)

母牛的故事

题目描述:

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

Input

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

Output

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

Sample Input

2 
4 
5 
0

Sample Output

2 
4 
6

题目分析:

第n年 1 2 3 4 5 6 7 8 9
f(n) 1 2 3 4 6 9 13 19 28

           由表格可知,公式为f(n)=f(n-1)+f(n-3)

通过答案:

#include <stdio.h>
int f(int n){                  //递归函数 
	if(n<=4){
		return n;
	}else{
		return f(n-1)+f(n-3);
	}
}
int main()
{
	int n;
	while(scanf("%d",&n)!=EOF){
		if(n==0)break;               //n=0表示输入数据的结束,不做处理 
		printf("%d\n",f(n));
	}
	
	return 0;
}
发布了55 篇原创文章 · 获赞 0 · 访问量 1021

猜你喜欢

转载自blog.csdn.net/ZhangShaoYan111/article/details/104099314