19 lines
438 B
JavaScript
19 lines
438 B
JavaScript
(n => {
|
|
|
|
let flatMap = (xs, f) => [].concat.apply([], xs.map(f)),
|
|
|
|
range = (m, n) => Array.from({
|
|
length: (n - m) + 1
|
|
}, (_, i) => m + i);
|
|
|
|
|
|
return flatMap(range(1, n), (x) =>
|
|
flatMap(range(1 + x, n), (y) =>
|
|
flatMap(range(1 + y, n), (z) =>
|
|
x * x + y * y === z * z ? [
|
|
[x, y, z]
|
|
] : []
|
|
)));
|
|
|
|
})(20);
|