HDU--2018

母牛的故事

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 51707    Accepted Submission(s): 25922

Problem Description

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

Input

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

n=0表示输入数据的结束,不做处理。

Output

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

每个输出占一行。

Sample Input

2
4
5
0

Sample Output

2
4
6

Author

lcy

#include <iostream>

using namespace std;

int laoniu(int n)
{
	if (n>=1 && n<=4)
		return n;
	else
		return laoniu(n-1) + laoniu(n-3);
}

int main()
{
	int n;
	while (cin >> n && n)
	{
		cout << laoniu(n) << endl;
	}
	return 0;
}

ps:感觉此题有点问题啊。当第一年的时候,母牛生了一头小母牛,数量应该是2,可是题意是1、

时间: 2024-10-04 07:36:50

HDU--2018的相关文章

HDU 2018 DP

A - 母牛的故事 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Practice HDU 2018 Description 有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛? Input 输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的

HDU 2018 Multi-University Training Contest 3 Problem A. Ascending Rating 【单调队列优化】

任意门:http://acm.hdu.edu.cn/showproblem.php?pid=6319 Problem A. Ascending Rating Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others)Total Submission(s): 5943    Accepted Submission(s): 2004 Problem Description Before

HDU - 2018 :递推

http://acm.hdu.edu.cn/showproblem.php?pid=2018 #include <stdio.h> #include <cstring> #include <algorithm> #include <vector> #include <map> #include <assert.h> #include <set> #include <cmath> #include <que

hdu 2018(母牛问题)2019(数列有序!)2020(绝对值排序 )2021(发工资)2022(海选女主角)

要发现它的规律,题n年牛的总数等于n-1年的母牛数加上第n年新增的母牛数,第n年只有n-3年的那些母牛才能产母牛,所以第n年的母牛数等于第n-1和n-3年的母牛数的和,即sum(n)=sum(n-1)+sum(n-3),可用递归来做 1 #include<cstdio> 2 #include<cmath> 3 #include<string.h> 4 #include<iostream> 5 #include<algorithm> 6 using

hdu 2018 多校 第五场

1002 小洛洛 开场挂了N发插入排序的我( 最后还是要靠小洛洛写暴力 1 #include <cstdio> 2 #include <cstring> 3 #include <iostream> 4 #include <cmath> 5 #include <cstdlib> 6 #include <algorithm> 7 using namespace std; 8 9 const int N = 12; 10 11 int mi

hdu 2018 母牛的故事(递推)

第i年的牛数=第i-1年的+第i-1年能生的 dp[i] = dp[i-1] + dp[i-3]; ( i >= 4 ) #include <iostream> #include <cstdio> using namespace std; int dp[60]; int main() { dp[1] = 1; dp[2] = 2; dp[3] = 3; for( int i = 4; i <= 55; i++ ) dp[i] = dp[i-1] + dp[i-3]; i

Hdu 2018母牛的故事

母牛的故事 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 83526    Accepted Submission(s): 41487 Problem Description 有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛? Input 输入数据由多个测试

HDU 2018 undefined

题目思路:完全背包,dp[i][j]代表,砍j只怪,用i点疲劳最多能获得的经验值. 和平常的完全背包不一样的是多了一个限制条件:最多只砍S只怪,所以我们应该多一重循环来q:for 1->S,代表某种怪砍q只. 代码: #include<cstdio> #include<stdio.h> #include<cstdlib> #include<cmath> #include<iostream> #include<algorithm>

hdu 2018 母牛的故事(java)

问题: 此题主要是一个递推算法,审题要仔细,小母牛是自它被生下开始第四年开始产子,递归公式为n=a(n-1)+(n-3). 之前看过别人的算法用了大数,其实没必要,在范围内int就可以装下. 母牛的故事 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 51574    Accepted Submission(s): 25849 Prob

hdu 2018 数列有序!(java)

问题: 再插入数字时,没有中断循环,导致从输入数处再次循环,如下错误结果: 3 3 1 2 4 1 2 3 3 4 3 1 2 4 5 1 2 3 3 4 当循环完成后记得中断: 数列有序! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 57301    Accepted Submission(s): 24693 Problem De