小白


私信TA

用户名:dotcpp0679237

访问量:490

签 名:

等  级
排  名 3515
经  验 1913
参赛次数 0
文章发表 4
年  龄 0
在职情况 学生
学  校 垃圾大学
专  业

  自我简介:

TA的其他文章

解题思路:因为是从a[i+1]一直乘到a[n],那么令sum=a[i+1]+...+a[n]故可合并为a[i]*sum

注意事项:每次sum的值都要减去a[i]

参考代码:

#include<stdio.h>

int main()

{

long long a[200000];

long long n, sum1 = 0, i = 0, sum = 0;  //sum1为最后的总和,sum是a[i+1]~a[n]的和

scanf("%lld", &n);

for (i=0;i<n;i++)

{

scanf("%lld", &a[i]);

sum = sum + a[i];

}

if(n==1)    //因为当n==1时sum=sum-a[i]==0故分一下情况

{

sum1=a[i];

}

for (i = 0; i < n; i++)

{

sum = sum - a[i];    //每次sum的值都会变为a[i+1]~a[n]的和。

sum1 = sum1+sum * a[i];

}

printf("%lld",sum1);

return 0;

}


 

0.0分

1 人评分

  评论区

  • «
  • »