前 n 个自然数的平方和与和的平方之间的差异。

javaobject oriented programmingprogramming更新于 2026/1/4 16:44:17

问题陈述

给定一个数字 n,编写一个程序来查找前 n 个自然数的平方和与和的平方之间的差异。

示例

n = 3
前三个数字的平方
= 3x3 + 2x2 + 1x1
= 9 + 4 + 1
= 14

前三个数字之和的平方
= (3 + 2 + 1)x(3 + 2 + 1)
= 6x6
= 36

差异
= 36 - 14
= 22

示例

以下是 Java 中的程序,用于查找所需的差异。

public class JavaTester {
   public static int difference(int n){
      //n 个自然数的平方和
      int sumSquareN = (n * (n + 1) * (2 * n + 1)) / 6;
      //n 个自然数的和
      int sumN = (n * (n + 1)) / 2;
      //n 个自然数的和的平方
      int squareSumN = sumN * sumN;
      //差异
      return Math.abs(sumSquareN - squareSumN);
   }
   public static void main(String args[]){
      int n = 3;
      System.out.println("Number: " + n);
      System.out.println("Difference: " + difference(n));
   }
}

输出

Number : 3
Difference: 22

相关文章


有用资源