1049

// 超时啦!
//

#include "stdafx.h"
#include<iostream>
#include<vector>
#include<numeric>
#include<iomanip>       //cout格式化输出!



using namespace std;

int main()
{
    unsigned n;
    cin >> n;

    double tmp;
    vector<double> data;
    for (unsigned i = 0; i < n; ++i)
    {
        cin >> tmp;
        data.push_back(tmp);
    }

    double sum = 0.0;
    for (size_t i = 0; i < n; ++i)
    {
        vector<double> tmp_data;
        tmp_data.push_back(data[i]);
        sum =sum+ accumulate(tmp_data.begin(), tmp_data.end(),0.0); //第三个实参决定了容器的类型。所累加对象必须与第三个参数类型一直!
        for (size_t j = i + 1; j < n; ++j)
        {
            tmp_data.push_back(data[j]);
            sum = sum+accumulate(tmp_data.begin(), tmp_data.end(), 0.0);
        }
    }

    cout.setf(ios::fixed);
    cout << setprecision(2) << sum;

    system("pause");
    return 0;
}

// 正确姿势!每个元素累加的次数存在规律!
//

#include "stdafx.h"
#include<iostream>
#include<vector>
#include<numeric>
#include<iomanip>       //cout格式化输出!



using namespace std;

int main()
{
    unsigned n;
    cin >> n;

    double tmp;
    vector<double> data;
    for (unsigned i = 0; i < n; ++i)
    {
        cin >> tmp;
        data.push_back(tmp);
    }

    double sum = 0.0;
    for (size_t i = 1, j = n; i <= n; ++i, --j)
    {
        sum = sum + i*j*data[i-1];   //(第i-1号元素,累加的次数为i*j!)
    }

    cout.setf(ios::fixed);
    cout << setprecision(2) << sum;

    system("pause");
    return 0;
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 严格按照目前的法律规定,所有权归集体,使用权归农民,而且这一使用权具有很强的人身依附性,即村民资格。宅基地...
    880f465a0f69阅读 246评论 0 0
  • 记得年初说想去不周山看海,传说不周山在西北,那海应该就是青海湖了吧,今天见到了青海湖,大抵就可以心想事成了吧 睡起...
    赫骜阅读 450评论 4 4