上三角矩阵求和:
求出其中所有元素的和。
输入数据
输出数据
对于每组数据,输出一行:
第一行为一个整数,表示上三角矩阵所有元素的和。
上三角矩阵中将0元素按照对称阵方式填满后,矩阵元素和为Sum^2,Sum= a1+…+an;
squareSum = a1^2+…+an^2;
因此
注意数据值较大,因此用long long存储计算结果。
#include<iostream> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(0); int num, n, newNum; long long sum = 0, squareSum = 0, result = 0; cin >> num; for (int i = 0; i < num; i++) { sum = 0; squareSum = 0; result = 0; cin >> n; for (int j = 0; j < n; j++) { cin >> newNum; sum += newNum; squareSum += newNum*newNum; } result = (sum*sum + squareSum) / 2; cout << result << endl; } return 0; }