2018 母牛的故事
阿新 • • 發佈:2018-12-16
母牛的故事
Problem Description
有一頭母牛,它每年年初生一頭小母牛。每頭小母牛從第四個年頭開始,每年年初也生一頭小母牛。請程式設計實現在第n年的時候,共有多少頭母牛?
Input
輸入資料由多個測試例項組成,每個測試例項佔一行,包括一個整數n(0<n<55),n的含義如題目中描述。 n=0表示輸入資料的結束,不做處理。
Output
對於每個測試例項,輸出在第n年的時候母牛的數量。 每個輸出佔一行。
Sample Input
2 4 5 0
Sample Output
2 4 6
分析 根據題意,先列出前幾年的牛頭數,試著找找規律:
第 1 年,有 1 頭母牛;
第 2 年,有 2 頭母牛;
第 3 年,有 3 頭母牛;
第 4 年,有 4 頭母牛;
第 5 年,有 6 頭母牛 ;
第 6 年,有 9 頭母牛;
第 7 年,有 13 頭母牛;
第 8 年,有 19 頭母牛;
可總結出一條公式 : DP(n)=DP(n-1)+DP(n-3) (n>=4)
參考程式碼
package DP; import java.util.Scanner; public class CowStory { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int[] DP=new int[55]; DP[1]=1; DP[2]=2; DP[3]=3; for (int i = 4; i < 55; i++) { DP[i]=DP[i-1]+DP[i-3]; } while(sc.hasNextLine() ){ int a=sc.nextInt(); if(a!=0) System.out.println(DP[a]); } sc.close(); } }