题目
前十个自然数的平方的和为: * 12+22+32+⋯+102=385
而前十个自然数和的平方为:(1+2+3+⋯+10)2=552=3025
两者的差为3025−385=2640
求前一百个自然数的和的平方与平方的和之间的差值。
解析
涉及两个公式
前n个自然数的和的公式为n(n+1)/2
前n个自然数的平方的和的公式为n(n+1)(2n+1)/2
代码
package edu.wust.competiton;
import java.util.Scanner;
public class chapter7 {
public static void main(String[] args) {
long n=100;
long sum0=n*(n+1)/2;
//计算前n个数之和
sum0=sum0*sum0;
// 计算前n个数之和的平方
long sum1=n*(n+1)*(2*n+1)/6;
// 计算前n个每个数平方的和
System.out.println(sum0-sum1);
// 输出结果:25164150
}
}