• 【郑轻】[1841]so easy!麻麻再也不用担心我的数学了!


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

    Time Limit: 1 Sec Memory Limit: 128 MB
    Submit: 40 Solved: 17

    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

    是一个比较不容易思考的题。
    根据公式:Ai=Ai1+Ai+12ci
    可以得到:An+1=2AnAn1+2cn
    所以:
    A2=2A1A0+2c1
    A3=3A12A0+4c1+2c2=2A2A1+2c2
    A4=4A13A0+6c1+4c2+2c3
    A5=5A14A0+8c1+6c2+4c3+2c4
    ……
    An+1=(n+1)A1nA0+2nc1+2(n1)c2++4cn1+2cn
    所以可得
    A1=An+1+nA0n1[2(ni+1)ci]n+1
    由此可直接得出结果

    #include<stdio.h>
    double a[3020];
    int main() {
        int n;
        while(scanf("%d",&n)!=EOF) {
            double f0,fn1;
            scanf("%lf %lf",&f0,&fn1);
            for(int i=1; i<=n; i++)
                scanf("%lf",&a[i]);
            double sum=0;
            for(int i=1; i<=n; i++)
                sum+=2*(n-i+1)*a[i];
            printf("%.2lf
    ",(fn1+n*f0-sum)/(n+1));
        }
        return 0;
    }
    

    题目地址:【郑轻】[1841]so easy!麻麻再也不用担心我的数学了!

  • 相关阅读:
    nuget
    C#枚举中使用Flags特性
    情感分析
    docker
    core部署
    脱壳系列_2_IAT加密壳_详细分析(含脚本)
    安全公司-* * * *-面试题:_ 安卓逆向分析分享
    18_ShadowWalker
    17_页面异常接管
    16_TLB与流水线
  • 原文地址:https://www.cnblogs.com/BoilTask/p/12569414.html
Copyright © 2020-2023  润新知