首页 > 试题广场 >

编写一个递归函数,求出斐波那契数列的第n项。

[问答题]
编写一个递归函数,求出斐波那契数列的第n项。
推荐
int fib(int n)
{int fn=0;
 if(n= =1||n= =2)
    fn=1;
 else
    fn=fib(n-1)+fib(n-2);
 return(fn);
}
main()
{int fn;
 int n;
 printf(" \ ninput n: ");
 scanf(" %d ",&n);
 fn=fib(n);
 printf("第%d项是:%d",n,fn);
}
运行结果如下:
input n:10
第10项是:55
发表于 2018-08-13 20:35:38 回复(0)
public static void main(String[] args) {
        int n=10;
        System.out.println("第"+n+"项为:"+getNum(n));
    }
    private static int getNum(int n){
        if (n<=0){
            return -1;
        }else if (n==1||n==2){
            return 1;
        }else {
            return getNum(n-1)+getNum(n-2);
        }
    }
输出:
第10项为:55
编辑于 2019-09-03 02:57:48 回复(0)
int func(int a)
{
    if (a == 1)
    {
        return 0;
    }
    else if(a==2)
    {
        return 1;
    }
    else
    {
        return func(a-2) + func(a - 1);
    }
}

int main()
{
    cout<<"请输入一个整数"<<endl;
    int a = 0;
    cin >> a;
    cout<<func(a)<<endl;
    return 0;
}
发表于 2021-10-30 21:27:10 回复(0)