RosettaCodeData/Task/Calculating-the-value-of-e/JavaScript/calculating-the-value-of-e-...

33 lines
748 B
JavaScript

(() => {
"use strict";
// --------------- APPROXIMATION OF E ----------------
const eApprox = n =>
// Approximation of E obtained after Nth iteration.
enumFromTo(1)(n).reduce(
([fl, e], x) => (
flx => [flx, e + (1 / flx)]
)(
fl * x
),
[1, 1]
)[1];
// ---------------------- TEST -----------------------
// main :: IO ()
const main = () =>
eApprox(20);
// --------------------- GENERIC ---------------------
// enumFromTo :: Int -> Int -> [Int]
const enumFromTo = m =>
n => Array.from({
length: 1 + n - m
}, (_, i) => m + i);
// MAIN ---
return main();
})();