【每日一练 基础题】[蓝桥杯 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);
    }
}
相关推荐
2401_833269302 小时前
Java网络编程入门
java·开发语言
金銀銅鐵2 小时前
[Java] 如何将 Lambda 表达式对应的类保存到 class 文件中?
java·后端
それども3 小时前
Gradle 构建疑难杂症 Could not find netty-transport-native-epoll-linux-aarch_64.ja
java·服务器·gradle·maven
正儿八经的少年3 小时前
application.yml 系列配置文件作用与区别
java·配置文件
鱼很腾apoc4 小时前
【学习篇】第20期 超详解 C++ 多态:从语法规则到底层原理
java·c语言·开发语言·c++·学习·算法·青少年编程
cheems95274 小时前
[Spring MVC] 统一功能与拦截器实践总结
java·spring·mvc
Full Stack Developme5 小时前
Spring Boot 事务管理完整教程
java·数据库·spring boot
城管不管5 小时前
前后端远程协作
java
青云计划5 小时前
Feed流
java·后端·spring