斐波那契数列求和(按照格式来)

img


img


img

#include<stdio.h>
int main() {
    int k1,k2;
    scanf("%d %d",&k1,&k2);
    int f1=1,f2=1,s=0,f3,i;
    if(k1==1) s+=f1;
    if(k2>=2) s+=f2;
    for(i=3;i<=k2;i++){
        f3=f1+f2;
        f1=f2;
        f2=f3;
        if(i>=k1){
            s+=f3;
        }
    } 
    printf("%d",s);
    return 0;
}

#include <stdio.h>

int calc(int k1, int k2)
{
        int pos = 0;
        int a = 0, b = 1;
        int sum = 0;
        while (pos < k1) {
            b = a + b;
            a = b - a;
            ++pos;
        }
        while (pos <= k2) {
            sum += a;
            b = a + b;
            a = b - a;
            ++pos;
        }
        return sum;
}

int main(void)
{
        int k1, k2;
        scanf("%d %d", &k1, &k2);
        int sum = calc(k1, k2);
        printf("%d\n", sum);
        return 0;
}

供参考:

#include <stdio.h>
int main()
{
    int k1, k2, i, s, a = 0, b = 1;
    scanf("%d%d", &k1, &k2);
    for (i = 1, s = 0; i < k2; i++)
    {
        b = b + a;
        a = b - a;
        if (i >= k1 - 1)
        {
            s += b;
        }
    }
    printf("%d", s);
    return 0;
}