c语言 斐波那契数列指的是这样一个数列:1,1,2,3,5,8,13, 这个数列从第三项开始,每一项都等于前两项之和.

2024-12-12 19:03:29
推荐回答(2个)
回答1:

#include "stdio.h"
int main(void){
    int a,b,i,T,n;
    while(1){
        printf("Input T(int 0        if(fflush(stdin),scanf("%d",&T) && T>0 && T<11)
            break;
        printf("Error, redo: ");
    }
    while(T--){
        while(1){
            printf("Input n(int 0            if(fflush(stdin),scanf("%d",&n) && n>0 && n<21){
                for(a=b=1,i=2;i                    a+=b,b=a-b;
                break;
            }
            printf("Error, enter again n: ");
        }
        printf("%d\n",a);
    }
    return 0;
}

回答2:

参考一下代码
a2-a1=0
a3-a2=1
.
an-a(n-1)=n-2
以上等式相加得
an-a1=0+1+.+n-2
an-1=(0+n-2)*(n-1)/2
an=(n-2)*(n-1)/2+1
an=(n^2-3n+4)/2
an=n^2/2-3n/2+2
s20=1^2/2-3*1/2+2+2^2/2-3*2/2+2+.+20^2/2-3*20/2+2
=(1^2+2^2+.+20^2)/2-3(1+2+.+20)/2+2*20
=[20*(20+1)(2*20+1)/6]/2-[3*(1+20)*20/2]/2+40
=35*41-15*21+40
=1160