❶ 编程求解母牛问题,若一头母牛,从出生起第四个年头开始每年生一头母牛,按此规律,第N年时有多少头母牛。
输入一个天数 输出一个母牛书
这个和HDOJ的2018题一样吧
递推公式f[n]=f[n-1]+f[n-3];
#include <cstdio>
#include<iostream>
using namepace std;
void main()
{
int s[55]={0,1,2,3,4,6};
short i,n;
while (scanf("%d",&n)==1)
{
if (n==0) break;
if (n>=6)
{
for (i=6; i<=n; i++)
s[i]=s[i-1]+s[i-3];
}
printf("%d\n",s[n]);
}
}
❷ c语言,一头母牛4年成熟一年生一头母牛,n年后有多少头牛,母牛不死亡
摘要 # include void main (){ int n ,f =1 ; printf ("input n :"); scanf("%d ",&n); for (;n>0;n--) f=f*n; printf("n!=%d ",f); }。
❸ c语言程序设计 若一头小母牛从第4个年头开始每年生育一头母牛,按照此规律,第n年时有几头母牛
//VS2005 调试通过!
#include<iostream>
using namespace std;
int main()
{
int i;
int n;//年数
int num;//牛的数目
//type[0]表示刚出生的牛,type[1]表示出生后第二年的牛,type[2]表示出生后第三年的牛,type[3]表示已经开始生产的牛
int type[4]={1,0,0,0};
cout << "输入年数:";
cin >> n;
for (i=1;i<n;i++)
{
type[3] += type[2];
type[2] = type[1];
type[1] = type[0];
type[0] = type[3];
}
num = type[0] + type[1] + type[2] + type[3];
cout << "牛的总数为:" << num << endl;
return 0;
}
❹ c语言编程:递增的牛群:若一头小母牛,从第四个年头开始每年生一头母牛。按此规律,第n年时有多少头母
1/************************************************************************
递增的牛群的问题。若1头小母牛,从第4年开始每年生一头母牛,按此规律,第20年
时,有多少头母牛?
************************************************************************/
2
3#include<stdio.h>
4
5intmain()
6{
7inti,f1=1,f2=1,f3=1,f4;
8
9for(i=4;i<=20;i++)
10{
11f4=f1+f3;
12f1=f2;
13f2=f3;
14f3=f4;
15}
16printf("第20年都一共有%d头母牛 ",f4);
17}
❺ c语言编程:递增的牛群:若一头小母牛,从第四个年头开始每年生一头母牛。按此规律,第n年时有多少头母牛
1、从桌面打开下载好的编程软件,下图为visual C++的打开界面。
❻ C语言编程 母牛繁殖问题
20
Cow 20 = 2745
Press any key to continue
你是用什么编译器的?
#include"stdio.h" 表示先从类库找
#include<stdio.h> 表示先从当前文件夹找
#include "stdio.h"
int Cow( int n )
{ int i, cow1,cow2,cow3,cow;
cow1=2; cow2=3; cow3=4;
if(n==1) cow=2;
else if(n==2) cow=3;
else if(n==3) cow=4;
else if(n<1) cow=0;
for( i=4; i<=n; i++)
{ cow=cow3+cow1;
cow1=cow2; cow2=cow3; cow3=cow;
}
return cow;
}
void main()
{ int n;
scanf("%d", &n);
printf("Cow %d = %d\n", n, Cow(n) );
}
❼ C语言编程:母牛的问题
#include<stdio.h>
#define Max 20//0记做第一年(2头牛),20记做第二十年
void main()
{
int sum=1,i,year,a[100]={0};//sum记录总数,a[]储存每头牛的存活年数
for(year=0;year<=Max;year=year+4)//年数按4年递增
{
//此循环目的是查看每头牛的年龄,并作出判断操作
for(i=sum-1;i>=0;i--)//因为数组从0开始所以sum要减一
{
a[i]+=4;//每头牛成长4岁
if(a[i]>15&&a[i]<20)//表示在这一年死过的牛
sum-=1;//总数减一
}
sum=2*sum;//再生一批牛
}
printf("%d\n",sum);
}
第16年才是26头,第20年应为48头,而不是50头,前面程序有算得50头的,应该不正确,请再检查算法
思路呢就是:
比如说第一年有两头牛,先让他们的年龄+4,然后查看是否死掉,死掉的从总数中减去再乘以2,依次类推
❽ C语言设有一头小母牛,从出生第四年起每年生一头小母牛,按此规律,第N年时有几头母牛 求解释
n-1说的是去年一共有多少头,然后n-3说的是3年前有多少头(也就是说性成熟可生育的母牛数量),那么去年的牛数加上可生育的牛数量(也就是今年新产的小牛数量)就是今年牛数量
举个例子,第5年就是第四年的牛数量加上第2年的牛数量(第二年的牛已经全部可以生育了)
❾ C语言母牛问题
int Muniu(int n)
{
int t,i,s,qq; //qq为其n次等比的和,s为n年后牛的数量
qq=1
t=n/4; //t为n的数值
for(i=1;i<=t;i++)
{
qq=qq+2*i;
}
s=qq-1;
return(s);
}
一个等比数列 看一下 也好长时间没有用c了 不知道是不是有语法错误
❿ 求C语言大神:现有一头牛,第四年开始每年生一头牛,小牛也是按这个规律再生下一代小牛……输入年数,输
这个简单:我的建议是如果你真的希望自己能学会这种题目的话,第一步肯定是要先推导出前几年的牛的数量观察数据,然后根据数据进行思考:每个小牛到第四年的时候就可以像我刚开那的那个牛一样生育了。所以,你的第一个牛,就是一个榜样,每个过了四年的牛都会成为这样的一只牛的,如果觉得我回答的抽象了建议你搜索HDU2018有题解的可以参考下。代码的话我也不发了,简单的递推题目。