前十个自然数的平方和是:
1
2 + 2
2 + ... + 10
2 = 385
前十个自然数的和的平方是:
(1 + 2 + ... + 10)
2 = 55
2 = 3025
所以平方和与和的平方的差是3025 385 = 2640.
找出前一百个自然数的平方和与和平方的差。
public class Test {
/**
* 前n项平方和(自然数)
*/
public static long bN2Sum(int max){
long sum = 0;
for(int i = 1 ;i <= max ;i ++){
sum += i * i;
}
return sum;
}
/**
* 前n项和的平方(自然数)
*/
public static long bNSum2(int max){
long temp = (1 + max) * max /2;
return temp * temp;
}
public static void main(String[] args) {
int n = 100;
System.out.println("前一百个自然数的平方和:" + bN2Sum(n));
System.out.println("前一百个自然数的平方的差:" + (bNSum2(n) - bN2Sum(n)));
}
}