题目描述
给定 n 个整数 a1, a2, · · · , an ,求它们两两相乘再相加的和,即 S = a1 · a2 + a1 · a3 + · · · + a1 · an + a2 · a3 + · · · + an-2 · an-1 + an-2 · an + an-1 · an.
输入
输入的第一行包含一个整数 n 。
第二行包含 n 个整数 a1, a2, · · · an。
输出
输出一个整数 S,表示所求的和。请使用合适的数据类型进行运算。
样例输入复制
4 1 3 6 9
样例输出复制
117
#include<stdio.h>
main(){
int n,i,j;
long long sum=0;
int arr[200000]={0};
//输入要多少个整数
scanf("%d",&n);
//输入数组的值
for(i=0;i<n;i++){
scanf("%d",&arr[i]);
}
//数组各个数进行两两相乘;
for(i=0;i<n;i++){
//为什么要从i+1开始执行;如果没有i+1则会有一种情况,自己与自己相乘;就会产生多余的值。
for(j=i+1;j<n;j++){
sum+=arr[i]*arr[j];
}
}
printf("%lld",sum);
return 0;
}