【每日一练 基础题】[蓝桥杯 2022 省 A] 求和

[蓝桥杯 2022 省 A] 求和

暴力破解会超时,用因式分解的平方差公式

a2+ 2ab+b2=(a+)2

a²-2ab+b2=(a-b)2

输出整数=((a1+a2+a3+...+an)²-a1²-a2²-a3²-...-an²)/2

java 复制代码
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        long n = scanner.nextLong();
        long mul = 0, sum = 0;

        for (long i = 1; i <= n; i++) {
            long x = scanner.nextLong();
            sum += (x * x);
            mul += x;
        }

        System.out.println((mul * mul - sum) / 2);
    }
}
相关推荐
凤山老林2 小时前
04-Java JDK, JRE和JVM
java·开发语言·jvm
灵感__idea7 小时前
Hello 算法:贪心的世界
前端·javascript·算法
camellias_8 小时前
【无标题】
java·tomcat
咸鱼2.08 小时前
【java入门到放弃】需要背诵
java·开发语言
澈2078 小时前
深入浅出C++滑动窗口算法:原理、实现与实战应用详解
数据结构·c++·算法
椰猫子8 小时前
Java:异常(exception)
java·开发语言
ambition202429 小时前
从暴力搜索到理论最优:一道任务调度问题的完整算法演进历程
c语言·数据结构·c++·算法·贪心算法·深度优先
cmpxr_9 小时前
【C】原码和补码以及环形坐标取模算法
c语言·开发语言·算法
qiqsevenqiqiqiqi9 小时前
前缀和差分
算法·图论
代码旅人ing9 小时前
链表算法刷题指南
数据结构·算法·链表