母牛的故事
題目描述:
有一頭母牛,它每年年初生一頭小母牛。每頭小母牛從第四個年頭開始,每年年初也生一頭小母牛。請編程實現在第n年的時候,共有多少頭母牛?
這道題的關鍵點在每年增長的牛的數目,從這個列表中我們不難發現從第5年後牛的每年增長數爲3年前的牛的總數。那麼牛的總數爲前一年的牛的總數加上三年前牛的總數。
代碼:
import java.util.Scanner;
public class zs {
public static void main(String[] args) {
int[] arr=new int[55];//arr數組存放牛數
int[] y =new int[55];//存放輸入的年數
Scanner scanner = new Scanner(System.in);
for(int i=0;i<y.length;i++){
y[i]=scanner.nextInt();
if(y[i]==0)
break;
}
xiaoniushu(y,arr);
}
public static void xiaoniushu(int y[],int arr[]){
//z是本年長大的牛,n是已經長大的牛,arr存放年增長牛數
for( int k=1;k<y.length;k++){
if(k>4){
arr[k]=arr[k-1]+arr[k-3];//今年的牛數等於去年的牛數加上今年新增的牛數(新增牛數等於三年前牛數)
}
else arr[k]=arr[k-1]+1;
}
for(int j=0;j<y.length;j++){
if(y[j]==0)break;
int d =y[j];
int niu=arr[d];
System.out.println(niu);
}
}
}
運行結果:
1,輸入年數:
2,輸出結果