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; }