HDU-2018

2572 ワード

雌牛の物語
Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 68968    Accepted Submission(s): 34528
Problem Description
1頭の雌牛がいて、毎年年の初めに1頭の子牛を産んでいます.子牛は4年目から毎年年初にも子牛を産む.プログラミングして実現してn年目の時、何頭の雌牛がありますか?
 
Input
入力データは複数のテストインスタンスからなり、各テストインスタンスは1行を占め、1つの整数n(0 n=0は入力データの終了を表し、処理しない.
 
Output
各試験例について、出力n年目の雌牛の数.各出力は1行を占める.
 
Sample Input
 
   
2 4 5 0
 
Sample Output
 
   
2 4 6
 
 
 
 
代码实现:
import java.util.Scanner;

 class Main {

  
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        while(sc.hasNext()){
            int n=sc.nextInt();
            if(n==0){
                break;
            }
           /**
            *            ,
            *  n       n-1                ,
            *      n-3           ,   n        n-1 n-3       ,
            *  sum(n)=sum(n-1)+sum(n-3),      ,    :
            */
            int sum=getSum(n);
            System.out.println(sum);
        }

    }
    public static int getSum(int n){
    	 if(n==1){
         	return 1;
         }else if(n==2){
         	return 2;
         }else if(n==3){
         	return 3;
         }else{
         	return getSum(n-1)+getSum(n-3);
         }
    }

}