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))
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; }
相关文章推荐
- UVa 10014 Simple calculations (数学)
- uva 10014 - Simple calculations
- uva 10014 Simple calculations
- UVA 10014 Simple calculations
- uva 10014 - Simple calculations
- UVA10014 Simple calculations【数列】
- uva 10014 Simple calculations(数学推导)
- UVa 10014 简单的计算
- UVA10014 - Simple calculations
- UVA 10014 - Simple calculations
- UVA - 10014 Simple calculations
- UVA 10014 Simple calculations
- UVA - 10014 Simple calculations
- UVA - 10014 - Simple calculations (经典的数学推导题!!)
- uva 10014 Simple calculations(公式推导)
- UVA - 10014 - Simple calculations (经典的数学推导题!!)
- UVA - 10014 Simple calculations
- UVA 10014 Simple calculations
- UVA 10014 - Simple calculations(数学)
- uva 10014 Simple calculations