前辍和—简单的求和
Description
Input
第一行包含一个整数 n
第二行包含n个整数 a1,a2·····an
Output
输出一个整数s表示所求的和。请使用合适的数据类型进行运算。
Sample Input
4
1 3 6 9
Sample Output
117
More Info
分析
通过题目我们很容易想到a1要从a2乘到an,同样的a2从a3乘到an,知道an-1乘以an,所以我们可以直接提取a1到an让他们去与他们后面的数的和相乘,就是一道简单的前辍和问题。
代码实现
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
long long sum = 0;
int numbers[n];
long long presum[n + 1] = {0};
for (int i = 0; i < n; i++) {
cin >> numbers[i];
presum[i + 1] = presum[i] + numbers[i];
}
for (int i = 0; i < n; i++) {
sum += numbers[i] * (presum[n] - presum[i + 1]);
}
cout << sum << endl;
return 0;
}


浙公网安备 33010602011771号