斐波拉契数列

Posted

tags:

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

你应该很熟悉斐波那契数列,不是吗?现在谷学长不知在哪里搞了个山寨版斐波拉契数列,如下公式:
F(n)=
{
   a,                                   n=1
   b,                                   n=2
   F(n-1)+F(n-2),               n>2并且n是奇数
   F(n-1)+F(n-2)+F(n-3),   n>2并且n是偶数
}
这里a和b是定值,现给出a,b和n,你的任务是计算F(n)。

输入:

第一行有一个正整数T(T<=10),表示测试实例的个数。每个测试实例包括三个正整数a,b和n(a<=10,b<=10,n<=30)。

输出:

对于每个测试实例,输出一行包含一个正整数F(n)。

 

#include<iostream>
using namespace std;
int F(int a, int b, int n)
{
        int sum = 0;
        if(n == 1)
                return a;
        else if(n == 2)
                return b;
        else if(n > 2)
        {
                if(n % 2 == 0)
                        return F(a, b, n-1) + F(a, b, n-2) + F(a, b, n-3);
                else
                        return F(a, b, n-1) + F(a, b, n-2);
        }
}
int main ()
{
        int x, i, c = 0;
        cin>>x;
        int a[x], b[x], n[x];
        for(i = 0; i < x; i++)
                cin>>a[i]>>b[i]>>n[i];
        while(c < x)
        {
                cout<<F(a[c], b[c], n[c])<<endl;
                c++;
        }
        return 0;
}

 

 技术分享

 

 









以上是关于斐波拉契数列的主要内容,如果未能解决你的问题,请参考以下文章

实现斐波拉契数列的四种方式python代码

斐波拉契数列的计算方法

斐波拉契数列简单总结

斐波拉契数列

随机求斐波拉契数列第n位的代码

《剑指offer》------斐波拉契数列