Đề 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