利用数组生成斐波那契数列(1,1,2,3,.…)的前45项,然后求出 m 到 k 项之和,(0< m <= k <45),包括 m 和 k 项的值。

img


利用数组生成斐波那契数列(1,1,2,3,.…)的前45项,然后求出 m 到 k 项之和,(0< m <= k <45),包括 m 和 k 项的值。( m , k 指项,数组的下标是从0开始的,即第1项为 a [0])


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

int main()
{
    int num[45];
    int m,k;
    int sum=0;
    num[0]=1;
    num[1]=1;
    for(int i=2;i<45;i++)//算出斐波那契数列前45项
    {
        num[i]=num[i-1]+num[i-2];
    }
    scanf("%d %d",&m,&k);
    if(m<=k&&m>0&&k<45)//满足条件计算和
    {
        for(int i=m-1;i<k;i++)
        {
            sum+=num[i];
        }
        printf("sum = %d",sum);
    }
    else
    {
        printf("ERROR");
    }
    return 0;
}