解题思路:观察数组下标的关系,用乘法的结合律即可解决问题
注意事项:由于n和a的项都比较大,为了防止溢出的情况,结果sum一定要设置成long long 或者double型,即站8位的类型
参考代码:
#include<stdio.h>
int a[200001];
int main()
{
long long sum=0,t=0;
int n;
scanf("%d",&n);
int i,j;
for(i=0;i<n;i++)
{
scanf("%d",a+i);
t+=a[i];
}
for(i=0;i<n;i++)
{
t-=a[i];//减去本身那个数
sum+=t*a[i];
}
printf("%lld",sum);
return 0;
}
0.0分
3 人评分
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:736 |
C语言程序设计教程(第三版)课后习题9.2 (Java代码)浏览:613 |
【计算两点间的距离】 (C语言代码)浏览:883 |
C语言训练-排序问题<1> (C语言代码)浏览:600 |
淘淘的名单 (C语言代码)浏览:1103 |
剪刀石头布 (C语言代码)浏览:752 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:567 |
简单的a+b (C语言代码)浏览:574 |
剪刀石头布 (C++代码)浏览:1709 |
简单的a+b (C语言代码)浏览:629 |