Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Chênh lệch giữa tổng bình phương và bình phương tổng n số tự nhiên đầu tiên


Đề bài

Cho một số n, viết chương trình tìm chênh lệch giữa tổng bình phương và bình phương tổng của n số tự nhiên đầu tiên.

Ví dụ

n = 3 
Bình phương ba số đầu tiên = 3x3 + 2x2 + 1x1 = 9 + 4 + 1 = 14 
Bình phương tổng ba số đầu tiên = (3 + 2 + 1)x(3 + 2 + 1) = 6x6 = 36 
Chênh lệch = 36 - 14 = 22

Ví dụ

Chương trình Java sau tìm chênh lệch yêu cầu.

public class JavaTester { 
  public static int difference(int n){ 
    // sum of squares of n natural numbers
    int sumSquareN = (n * (n + 1) * (2 * n + 1)) / 6; 
    // sum of n natural numbers
    int sumN = (n * (n + 1)) / 2; 
    // square of sum of n natural numbers
    int squareSumN = sumN * sumN; 
    // difference
    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)); 
  } 
}

Kết quả

Number : 3 Difference: 22