❶ 編程求解母牛問題,若一頭母牛,從出生起第四個年頭開始每年生一頭母牛,按此規律,第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有題解的可以參考下。代碼的話我也不發了,簡單的遞推題目。