有如下方程:A
i = (A
i-1 + A
i+1)/2 - C
i (i = 1, 2, 3, .... n).
若给出A 0, A n+1, 和 C 1, C 2, .....C n.
若给出A 0, A n+1, 和 C 1, C 2, .....C n.
请编程计算A1 = ?
由原式可推:
A1 + A2 + A3 + ... + An = (A0 + A1 + 2*A2 + 2*A3 + .. .+ 2*An-1 + An + An+1) / 2 - c1 - c2 - c3 - .... - cn
==> A1 + An = A0 + An+1 - 2(c1 + c2 + c3 + ... +cn)
A1 + A1 = A0 + A2 - 2*c1
A1 + A2 = A0 + A3 - 2(c1 + c2)
...................
(n + 1)*A1 = n*A0 + An+1 - 2(n*c1 + (n-1)*c2 + (n-2)*c3 + .. .+ cn)
#include<stdio.h>
#define N 3001
int main()
{
int n;
float a, b;
float c[N];
float sum;
while(~scanf("%d", &n))
{
sum = 0;
scanf("%f%f", &a, &b);
for (int i = 1; i <= n; i++)
{
scanf("%f", &c[i]);
c[i] *= (n-i+1);
sum += c[i];
}
sum *= 2;
float ans = (n*a + b - sum) / (n+1);
printf("%.2f\n", ans);
}
}