本题主要是理解题意和解题方式:
题意翻译一下: 求所有连续组合 的 和 --- 即统计所有组合中所有元素出现的次数! 如果把所有组合都遍历一遍再输出,肯定是跪掉
规律就是每个数字出现的次数为(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; }