【数据结构】1.17试编写求k阶斐波那契序列的第m项值的函数算法

【数据结构】1.17试编写求k阶斐波那契序列的第m项值的函数算法

Alt

//由定义知递推公式:f(n)=f(n-1)+f(n-2)+...+f(n-k)
//又:f(n-1)=f(n-2)+f(n-3)+...+f(n-k)+f(n-k-1)   (n>k+1时成立)
//由以上两式可得:f(n)=2f(n-1)-f(n-k-1)  (n>k+1)
//m<=k-1时,f(n)=0;
//m=k,k+1时,f(n)=1;
//m>k+1时,f(n)=2f(n-1)-f(n-k-1).

#include <stdio.h>
#include <stdlib.h>

int Fibonacci (int k,int m)  //k>0为阶数,m为数列的第m项
{
if(m<=k-1)
return 0;
else
    {
    if((m==k)||(m==k+1))
    return 1;
else
        return 2*Fibonacci(k,m-1)-Fibonacci(k,m-k-1);
    }
}
int main()
{
    int k,m;
    scanf("%d %d",&k,&m);
    printf("%d",Fibonacci(k,m));
    system("pause");
}
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 数字20 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读