题目链接:1049 数列的片段和
思路
可以发现每个元素出现的次数为自己的序号乘总数减序号,依次读取每位进行累加即可。测试点2无法通过的原因是double精度问题,在累加过程中产生了误差,选用更大精度的long double型数据,问题得以解决。
代码
#include <iostream>
using namespace std
;
int main(){
int N
;
long double sum
= 0,num
;
cin
>> N
;
for(int i
=0;i
<N
;i
++){
cin
>> num
;
sum
+= num
* (N
- i
) * (i
+ 1);
}
printf("%.2Lf",sum
);
return 0;
}
转载请注明原文地址:https://blackberry.8miu.com/read-14166.html