1049 数列的片段和

找规律的题目。

题目:

分析:

举例(1,2,3,4)有4个元素,下面是所有可能片段。

情况一,(1),(1,2),(1,2,3),(1,2,3,4),所有片段共有4个1,所以是 4 x 1 x 1

情况二,(2),(2,3),(2,3,4),情况一、二各有3个2,所以是 3 x 2 x 2

情况三,(3),(3,4),情况一、二、三各有 2 个 3,所以是 2 x 3 x 3

情况四,(4),情况一、二、三、四各有 1 个 4,所以是 1 x 4 x 4。

结论:

给出(1,2,3,4,... ,N)N个元素,所有相同的 T元素的和为 T*(N-i)*(i+1),i = 0,1,2,... ,N。

 

注意点:因为(N-i)*(i+1) *T可能会超出int范围导致最后两个测试点过不去,所以必须写成 T*(N-i)*(i+1)。

#include<iostream>
using namespace std;
int main() {
    int n;
    double T,sum = 0;
    cin>>N;
    for(int i = 0; i < n; ++i) {
        scanf("%lf",&t);
        sum += T*(N-i)*(i+1);
    }
    printf("%.2f",sum);
    return 0;
}

 

posted @ 2020-02-20 12:31  tangq123  阅读(182)  评论(0编辑  收藏  举报