//
// Project Euler problem 6 in SETL
//
// Problem 6
// The sum of the squares of the first ten natural numbers is,
// 1^(2) + 2^(2) + ... + 10^(2) = 385
//
// The square of the sum of the first ten natural numbers is,
// (1 + 2 + ... + 10)^(2) = 55^(2) = 3025
//
// Hence the difference between the sum of the squares of the first ten
// natural numbers and the square of the sum is 3025 − 385 = 2640.
//
// Find the difference between the sum of the squares of the first one
// hundred natural numbers and the square of the sum.
//
problem6 := procedure() {
print("Problem 6: ");
n := 100;
p := { [i,i**2] : i in [1..n]};
diff := abs(+/range(p) - (+/domain(p))**2);
print(diff);
};
// a more direct version
problem6b := procedure() {
print("Problem 6b: ");
n := 100;
sum_of_squares := +/[i**2 : i in [1..n]];
square_of_sum := (+/[i : i in [1..n]])**2;
diff := abs(sum_of_squares - square_of_sum);
print(diff);
};
problem6();
// problem6b();