推理过程:
由题意可知:2*A1=A0+A2-2*C1;(A2 = 2 * A1 - A0 -> A2里边有两个A1)
2*A2=A1+A3-2*C2;(A3 = 2 * A2 - A1 -> A2里边有2 *2 - 1 = 3个A1)
2*A3=A2+A4-2*C3;(A4= 2 * A3 - A2 -> A2里边有3 *2 - 2 = 4个A1)
.......................
2*AN=A(N-1)+A(N+1)-2CN;
同理,我们会发现An里边有n个A1,自然A[n + 1]里边包含了n + 1个A1。
所以我们把A1设置为0,相当于去除了A1.所以他们的差值就是(n + 1)* A1;
代码:
#include<stdio.h>
int main()
{
int n,i;
scanf("%d",&n);
double a1,an1,ans=0,c[1001],x[1001];
scanf("%lf%lf",&a1,&an1);
x[0]=a1;
x[1]=0;
for(i=1; i<=n; i++)
{
scanf("%lf",&c[i]);
x[i+1]=2*x[i]-x[i-1]+2*c[i];
}
x[1]=(an1-x[n+1])/(n+1);
printf("%.2lf\n",x[1]);
return 0;
}