题目描述
给定 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
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n=sc.nextInt();
BigInteger[] arr=new BigInteger[n];
for (int i = 0; i <n ; i++) {
arr[i]= BigInteger.valueOf(sc.nextInt());
}
if(n==1){
System.out.println(arr[0]);
}
else {
BigInteger x=new BigInteger(String.valueOf(arr[arr.length-1]));
BigInteger num=new BigInteger("0");
for (int i = n-2; i >=0 ; i--) {
num=num.add(arr[i].multiply(x));
x=x.add(arr[i]);
}
System.out.println(num);
}
}
}