根据方程:Ai = (Ai-1 + Ai+1)/2 - Ci
可以写出:
A1 = 1/2 * A0 + 1/2 * A2 - C1;………………….①式
A2 = 1/2 * A1 + 1/2 * A3 - C2; ………………….②式
将①式代入②式,得到:
A2 = 1 / 3 * A0 + 2 / 3 * A3 - 2/3 * C1 - 4 / 3 * C2;………………..③式
将③式代入①式,得到:
A1 = 2 / 3 * A0 + 1 / 3 * A3 - 4 / 3 * C1 - 2 / 3 * C2.
以此类推:可以得到一个通式:对于An+1。
A1 = n / (n + 1) * A0 + 1 / (n + 1)* An+1 - 2*n / (n + 1)* C1 - (2*n - 2)/(n + 1)* C2 - ……..2 / (n + 1)* Cn-1。
耐心+细心=AC ^o^
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int n = sc.nextInt();
double a0 = sc.nextDouble();
double an= sc.nextDouble();
double[] c = new double[n+1];
for (int i = 1; i < c.length; i++) {
c[i] =sc.nextDouble();
}
double ans = 1.0*n/(n+1)*a0+1.0/(n+1)*an;
double k = n*2.0;
for (int i = 1; i < c.length; i++) {
ans -= k/(n+1)*c[i];
k -= 2.0;
}
System.out.printf("%.2f",ans);
System.out.println();
}
sc.close();
}
}