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
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); } } }