用递归法计算斐波那契数列的第n项

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用递归法计算斐波那契数列的第n项相关的知识,希望对你有一定的参考价值。

用递归方法计算斐波那契数列的第n项的代码如下:

    #include <stdio.h>  

    int Fibonacci(int n)  

      

    if( n == 1 || n == 2) // 递归结束的条件,求前两项  

    return 1;  

    else  

    return Fibonacci(n-1)+Fibonacci(n-2); // 如果是求其它项,先要求出它前面两项,然后做和。  

      

    int main()  

      

    int n;  

    printf("please input n: ");  

    scanf("%d",&n);  

    printf("Result: %d\\n",Fibonacci(n));  

    return 0;  

     

扩展资料一【非递归方式计算斐波那契数列第N项】

    #include<iostream>  

    using namespace std;  

    int Fib(int n)  

      

    if(n==1 || n==2)  

    return 1;  

    int fib1=1;  

    int fib2=1;  

    int fib;  

    for(int i=3; i<=n; ++i)  

      

    fib = fib1 + fib2;  

    fib2 = fib1;  

    fib1 = fib;  

      

    return fib;  

      

    void main()  

      

    int n;  

    cout<<"input n:>";  

    cin>>n;  

    cout<<Fib(n)<<endl;  

     

扩展资料二【斐波那契数列的起源】

由于斐波纳挈数列是以兔子的繁殖引入的数学问题,因此也叫“兔子数列”,指的是这样一个数列:0,1,1,2,3,5,8,13...... 从这组数可以很明显看出这样一个规律:从第三个数开始,后边一个数一定是在其之前两个数的和。

在数学上,斐波纳挈数列可以以这样的公式表示:F(0) = 0,F(1) = 1 ,F(n) = F(n-1) + F(n-2),(n>=2)

参考技术A #include <stdio.h>

int Fibonacci(int n)

if( n == 1 || n == 2) // 递归结束的条件,求前两项
return 1;
else
return Fibonacci(n-1)+Fibonacci(n-2); // 如果是求其它项,先要求出它前面两项,然后做和。


int main()

int n;

printf("please input n: ");
scanf("%d",&n);

printf("Result: %d\n",Fibonacci(n));
return 0;
本回答被提问者采纳

斐波那契数列

题目要求

写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下:
F(0) = 0, F(1) = 1
F(N) = F(N - 1) + F(N - 2), 其中 N > 1.
斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。

算法分析

用循环或递归实现均可,当前数为前两项之和,注意不同题目初始值可能不同。

代码

class Solution(object):
    def fib(self, n):
        x = 0
        y = 1
        temp = 0
        if n == 0 or n == 1:
            return n
        for i in range(2, n + 1):
            temp = x + y
            x = y
            y = temp
        return temp % 1000000007

以上是关于用递归法计算斐波那契数列的第n项的主要内容,如果未能解决你的问题,请参考以下文章

递归求斐波那契数列

用递归函数求斐波那契数列的第n项的值

C语言用递推和递归两种算法完成斐波那契数列的计算,给一下代码

java用递归编程求斐波那契数列第n项

用递归和非递归方法求解斐波那契数列

斐波那契数列的三种方式