【zzulioj 1841 so easy!麻麻再也不用担心我的数学了!】
发布日期:2021-11-04 12:59:33 浏览次数:12 分类:技术文章

本文共 1150 字,大约阅读时间需要 3 分钟。

so easy!麻麻再也不用担心我的数学了!

Description

咱们来一发so easy的数学题,这样麻麻再也不用担心我们的数学不及格了。

现在给你一个方程A[i] = (A[i-1]+A[i+1])/2 - c[i](1 <= i <= n);, 然后给你A[0]和A[n+1]
求A[1] = ?。
Input

包括多个测试样例。

对于每一个实例,第一行输入一个正整数n(1 <= n <= 3000),第二行输入两个实数A[0], A[n+1],接下来每一行输入一个实数c[i](1 <= i <= n)。
Output

对于每个测试实例,用一行输出所求得的a1(保留2位小数).

Sample Input

1

50 25
10
2
50 25
10 20
Sample Output

27.50

15.00

数学规律题 :

A i = (A i - 1 + A i + 1 ) / 2 - C i ;

A i + 1 =2 * A i + 2 * C i - A i - 1;

A 2 = 2 * A 1 + 2 * C1 - A0;

A3 = 2 * A2 + 2 * C2 - A1;

= 2 * (2 * A1 + 2 * C1 -A0) + 2 * C2 - A1;
= 4 * A1 + 4 * C1 - 2 * A0 + 2 * C2 - A1;
= 3 * A1 -2 * A0+ 2 * 2 * C1 + 2 * 1 * C2;

An+1 = (n + 1) * A1 - n * A0 + 2 * n C1 + 2 (n - 1) * C2 + …+ 2 * Cn ;

A1 = (An+1 + n * A0 -2 * n * C1 - 2 * (n - 1) * C2 -…-2 * Cn);

#include
double pa[3011];int main(){ int n,i; double ans,sum,pl0,plm; while(scanf("%d",&n)!=EOF) { scanf("%lf%lf",&pl0,&plm); sum = 0; for(i = 1; i <= n; i++) { scanf("%lf",&pa[i]); sum += 2 * pa[i] * (n - i + 1); } ans = (plm + n * pl0 - sum) / (n + 1); printf("%.2lf\n",ans); } return 0;}

转载地址:https://blog.csdn.net/WYK1823376647/article/details/52512048 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【求精:关于N个小球放M个盒子解答 】
下一篇:【SDUT [2146]最小子序列和】

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年04月03日 09时34分54秒