jsadvent/solutions/2019/1.js
2020-12-10 02:33:00 -06:00

23 lines
402 B
JavaScript

const { Glib } = require('../../lib');
const fuelFor = (mass) => mass / 3n - 2n;
function* tyrant(mass) {
while ((mass = fuelFor(mass)) > 0n) {
yield mass;
}
}
module.exports = {
'1': (input) =>
Glib.fromLines(input)
.toInts()
.map((i) => fuelFor(i))
.sum(),
2: (input) =>
Glib.fromLines(input)
.toInts()
.flatMap((i) => tyrant(i))
.sum(),
};