首页 > 编程语言 > 详细

C语言母牛问题

时间:2020-03-04 09:06:06      阅读:81      评论:0      收藏:0      [点我收藏+]

问题 F: 母牛问题

时间限制: 1 Sec  内存限制: 128 MB
提交: 94  解决: 60
[提交] [状态] [讨论版] [命题人:外部导入]

题目描述

假设单性繁殖成立,若一头母牛,从出生起第四个年头开始,每年生一头母牛,而生出的小母牛在之后的第四年也将具有生殖能力。按此规律,第n年时有多少头母牛?

输入

输入数据为整数n(1≤n≤40)。

输出

对于每个n,输出其第n年的母牛数

样例输入

5 6 7 8 9

样例输出

3
4
6
9
13
思路:找到年份和母牛数量的关系
第一年:A 数量1
第二年:A  1
第三年:A  1
第四年:A:a(1岁)  2
第五年:A:a(2),b(1)  3
第六年:A:a(3),b(2),c(1)  4
第七年:A:a(4),b(3),c(2),d(1)  6
    a:aa(1)
第八年:A:a(5),b(4),c(3),d(2),e(1)  9
    a:aa(2),ab(1),b:bb(1)
发现:第八年数量等于第七年数量+第5年数量-->a[i]=a[i-1]+a[i-3]

#include <stdio.h>
typedef long long ll ;


int main()
{
int n ;
ll a[100000];


while(scanf("%d",&n)!=EOF &&1<=n&&n<=40)
{
int i,sum ;
a[1]=1;
a[2]=1;
a[3]=1;
a[4]=2;
if(n==1) printf("%d\n",a[1]);
if(n==2) printf("%d\n",a[2]);
if(n==3) printf("%d\n",a[3]);
if(n==4) printf("%d\n",a[4]);
if(n>=5)
{
sum=0;
for(i=5;i<=n;i++)
{
a[i]=a[i-1]+a[i-3];
if(i==n) sum=sum+a[i];
}
printf("%d\n",sum);
}


}


}


 

 

C语言母牛问题

原文:https://www.cnblogs.com/cocobear9/p/12405768.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!