美文网首页
B1049 数列的片段和 (20分)

B1049 数列的片段和 (20分)

作者: km15 | 来源:发表于2020-02-08 16:46 被阅读0次

    /*
    题意:
    1、给出一个不超过N的5次,第二行给出不超过1.0的正数,
    2、找出所有的片段,计算出所有的片段和

    本质:不用去找片段和啦

    解题:
    1、怎么计算和呢
    2、规律是啥呀!
    3、从 n递减到1,从1增加到n,再乘以0.几

    learn && wrong:
    1、主要是思路没错就可以了
    2、但是不知道为什么我读入数组反而错了,答案是直接读入一个数,直接for循环开始算
    */

    #include <iostream>
    using namespace std;
    
    const int maxn = 100010;
    double num_array[maxn];
    
    int main(int argc, char** argv) {
        int n;
        cin>>n; 
        for(int i = 1;i <= n;++i){      //输入序列 
            scanf("%lf",&num_array[i]);
        }
        
        double ans = 0;
        
        for(int i = 1;i <= n;++i){
            ans += (n - i + 1) * i * num_array[i];
        } 
        
        printf("%.2f\n",ans);
        return 0;
    }
    
    
    // B1049 数列的片段和.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
    //
    
    #include <iostream>
    #include <cstdio>
    using namespace std;
    
    int main()
    {
        int n;
        double vb, ans = 0;
        scanf("%d", &n);
        for (int i = 1;i <= n;i++) {
            scanf("%lf", &vb);//求和啊,每个数出现的次数已经知道了,那就是求和了
            ans += vb * i * (n - i + 1);
        }
        printf("%.02f", ans);
    }
    
    

    相关文章

      网友评论

          本文标题:B1049 数列的片段和 (20分)

          本文链接:https://www.haomeiwen.com/subject/gdhixhtx.html