PTA6-3 递归求Fabonacci数列 本题要求实现求Fabonacci数列项的函数。

本题要求实现求Fabonacci数列项的函数。Fabonacci数列的定义如下:

f(n)=f(n−2)+f(n−1) (n≥2),其中f(0)=0,f(1)=1。

函数接口定义:

int f( int n );

函数f应返回第n个Fabonacci数。题目保证输入输出在长整型范围内。建议用递归实现。

裁判测试程序样例:

#include 

int f( int n );

int main() {

int n;

scanf("%d", &n);

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

return 0; }

/* 你的代码将被嵌在这里 */

输入样例:

6

输出样例:

8

代码如下

其实还挺简单的奥,return 可以返回一串式子,不要把问题想难。 

int f(int n){
    if(n == 0){ //当n等于0时,直接返回0
        return 0;
    }
    else if(n == 1){ //当n等于1时,直接返回1
        return 1;
    }
    else{ //否则,递归计算Fabonacci数列的值
        return f(n-2) + f(n-1);
    }
}

 

你可能感兴趣的:(PTA基础题,算法,数据结构,c语言,编辑器,开发语言,PTA)