Data update
This commit is contained in:
parent
81fd053722
commit
52a6ef48dd
10248 changed files with 63654 additions and 6775 deletions
35
Task/List-comprehensions/JavaScript/list-comprehensions-6.js
Normal file
35
Task/List-comprehensions/JavaScript/list-comprehensions-6.js
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
(() => {
|
||||
"use strict";
|
||||
|
||||
// [(x, y, z) | x <- [1..n], y <- [x..n], z <- [y..n], x ^ 2 + y ^ 2 == z ^ 2]
|
||||
|
||||
const main = () => {
|
||||
const n = 20;
|
||||
|
||||
return enumFromTo(1)(n).flatMap(
|
||||
x => enumFromTo(x)(n).flatMap(
|
||||
y => enumFromTo(y)(n).flatMap(
|
||||
z => x ** 2 + y ** 2 === z ** 2
|
||||
? [[x, y, z]]
|
||||
: []
|
||||
)
|
||||
)
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
|
||||
// --------------------- GENERIC ---------------------
|
||||
|
||||
// enumFromTo :: Int -> Int -> [Int]
|
||||
const enumFromTo = m =>
|
||||
// Enumeration of the integers from m to n.
|
||||
n => Array.from(
|
||||
{ length: 1 + n - m },
|
||||
(_, i) => m + i
|
||||
);
|
||||
|
||||
|
||||
// MAIN ---
|
||||
return JSON.stringify(main());
|
||||
})();
|
||||
Loading…
Add table
Add a link
Reference in a new issue