Fibonacci数列(ウサギ繁殖問題)--冬休み作業(第9題)

1016 ワード

雌牛の物語
タイトルの説明
1頭の雌牛がいて、毎年年の初めに1頭の子牛を産んでいます.子牛は4年目から毎年年初にも子牛を産む.プログラミングして実現してn年目の時、何頭の雌牛がありますか?
入力
入力データは複数のテストインスタンスからなり、各テストインスタンスは1行を占め、1つの整数n(0 n=0は入力データの終了を表し、処理しない.
しゅつりょく
各試験例について、n年目の雌牛の数を出力した.出力ごとに1行を占めます.
サンプル入力
2
4
5
0

サンプル出力
2
4
6

【式】:この問題には、Fibonacci数列【繰返し】:s(n-1)+s(n-2);
C言語ソースプログラムは以下の通りである.

#include

#include

int s(int n);

int main()

{

	int n;

	do{

		scanf("%d",&n);
		if(n==1)
			printf("%d
",n); else if(s(n)==0) exit(0); else printf("%d
",s(n)+1);// }while(n!=0); return 0; } int s(int n) { if(n==0)return 0; if(n==1)return 1; if(n==2)return 1; if(n==3)return 1; if(n>=4)return s(n-1)+s(n-2)+s(n-3); }