您的位置:首页 > 其它

UVA - 10014 Simple calculations

2015-01-02 21:08 357 查看
点击打开链接

2*a1 = a0 + a2 - 2*c1

2*a2 = a1 + a3 - 2*c2

2*a3 = a2 + a4 -2*c3

...

2*an = an-1 + an+1 - 2*cn

将上述n个式子依次累加加 并且保留 第一个式子得:

2*a1 = a0 + a2 -2*c1

a1+a2=a0+a3-2*(c1+c2)

a1+a3=a0+a4-2*(c1+c2+c3)

...

a1+an=a0+an+1-2*(c1+c2+c3...+cn)

将上述 n+1个式子相加:

(n+1)*a1 =n*a1 +an+1 -2*(n*c1+(n-1)*c2+(n-2)*c3+...+cn))

#include<cstdio>
int main()
{
int t,n,i;
double a,b,c,s;
scanf("%d",&t);
while(t--)
{
s=0;
scanf("%d",&n);
scanf("%lf%lf",&a,&b);
for(i=1;i<=n;i++)
{
scanf("%lf",&c);
s+=(n-i+1)*c;
}
printf("%.2lf\n",(n*a+b-2*s)/(n+1));
if(t) printf("\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: