浙大PAT 1049. 数列的片段和(20)

来源:互联网 发布:互联网供应链金融数据 编辑:程序博客网 时间:2024/06/05 22:38

本题主要是理解题意和解题方式:

题意翻译一下: 求所有连续组合 的 和 --- 即统计所有组合中所有元素出现的次数! 如果把所有组合都遍历一遍再输出,肯定是跪掉

规律就是每个数字出现的次数为(N - i) * (i + 1) 次.

代码如下:

#include <iostream>#include <iomanip>#include <vector>using namespace std;int main(){  int N, i;  cin>>N;  vector<double> Nums(N);  double sum = 0;  for(i = 0; i < N; i++)    cin>>Nums[i];  for(i = 0; i < N; i++)    sum += (N - i)*Nums[i]*(i + 1);  cout<<fixed<<setprecision(2)<<sum;  system("pause");  return 0;}

1 0