小白


私信TA

用户名:dotcpp0679237

访问量:248

签 名:

等  级
排  名 8421
经  验 1175
参赛次数 0
文章发表 2
年  龄 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 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区