1. 程式人生 > >4-18 遞迴求Fabonacci數列 (10分)

4-18 遞迴求Fabonacci數列 (10分)

本題要求實現求Fabonacci數列項的函式。Fabonacci數列的定義如下:

f(n)=f(n−2)+f(n−1)f(n)=f(n-2)+f(n-1)f(n)=f(n2)+f(n1) (n≥2n\ge 2n2),其中f(0)=0f(0)=0f(0)=0f(1)=1f(1)=1f(1)=1

函式介面定義:

int f( int n );

函式f應返回第n個Fabonacci數。題目保證輸入輸出在長整型範圍內。建議用遞迴實現。

裁判測試程式樣例:

#include <stdio.h>

int f( int n );

int main()
{
    int n;

    scanf("%d", &n);
    printf("%d\n", f(n));

    return 0;
}

/* 你的程式碼將被嵌在這裡 */

輸入樣例:

6

輸出樣例:

8




int f( int n )
{
	int result;
	if(n == 0)
	result = 0;
	else if(n == 1)
	result = 1;
	else
	result = f(n - 2) + f(n - 1);
	return result;
}