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