题目描述
解题思路
解法一:暴力求解双层循环遍历,但是会超时只能得30分
解法二:通过观察如果有4个数a1,a2,a3,a4
则sum=a1*a2+a1*a3+a1*a4+a2*a3+a2*a4+a3*a4
可以化简为sum=a1*(a2+a3+a4)+a2*(a3+a4)+a3*a4
既每一项乘以除去自己以及前项的和
代码
解法一暴力解法:
n=int(input())
numb=list(map(int,input().strip().split()))
sum=0
for i in range(n):
for j in range(i+1,n):
sum=sum+numb[i]*numb[j]
print(sum)
解法二满分解法:
n=int(input())
S=0
a=list(map(int,input().split()))
s1=sum(a)
for i in range(0,n):
s1-=a[i]
S+=a[i]*s1
print(S)