【每日一练 基础题】[蓝桥杯 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);
    }
}
相关推荐
小白菜又菜10 小时前
Leetcode 3432. Count Partitions with Even Sum Difference
算法·leetcode
wuhen_n11 小时前
LeetCode -- 15. 三数之和(中等)
前端·javascript·算法·leetcode
sin_hielo11 小时前
leetcode 2483
数据结构·算法·leetcode
Nonoas11 小时前
动态代理:发布订阅的高级玩法
java·ide·intellij-idea
程序员-周李斌12 小时前
Java 死锁
java·开发语言·后端
Xの哲學12 小时前
Linux多级时间轮:高精度定时器的艺术与科学
linux·服务器·网络·算法·边缘计算
大头流矢12 小时前
归并排序与计数排序详解
数据结构·算法·排序算法
油泼辣子多加13 小时前
【信创】算法开发适配
人工智能·深度学习·算法·机器学习
皮皮林55113 小时前
Prometheus+Grafana,打造强大的监控与可视化平台
java
JasmineWr13 小时前
CompletableFuture相关问题
java·开发语言