【PAT乙级】1049 数列的片段和(已解决测试点2未通过问题)

    科技2022-08-09  103

    题目链接: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; }
    Processed: 0.014, SQL: 8