难得的1A。想的时间有点长啊,精力集中不起来。
思路:本来是开始把 a1 a2 a3... an 全部用题目中的表达式给表示出来,想着肯定会全部消去吧,结果。。。还剩下个an,然后,没啥想法了。。想想,试试规律吧。把 n = 2 3 4 时候全部写出来了发现有规律啊。an 可以用a1和a0表示出来。。把an套到前一个推出来的公式去,然后,实现这个规律,又浪费一些时间。。。还好1A。
1 #include <stdio.h> 2 double c[5000]; 3 int main() 4 { 5 int i,j,t,m; 6 double a0,an,sum1,sum2,ans; 7 scanf("%d",&t); 8 while(t--) 9 { 10 sum1=sum2=0; 11 scanf("%d",&m); 12 scanf("%lf%lf",&a0,&an); 13 for(i = 1;i <= m;i ++) 14 { 15 scanf("%lf",&c[i]); 16 sum1 += c[i]; 17 } 18 for(i = 1;i <= m;i ++) 19 { 20 sum2 += 2*(m - i)*c[i]; 21 } 22 ans = m*a0 + an - 2*sum1 -sum2; 23 ans = ans/(m+1); 24 printf("%.2lf\n",ans); 25 if(t != 0) 26 printf("\n"); 27 } 28 return 0; 29 }