/*
题意:
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);
}
网友评论