SplitNParts

https://stackoverflow.com/a/45653060/2089675

by tanvir_alam_shawn

JavaScript

function* splitNParts(num, parts) {
    let sumParts = 0;
    for (let i = 0; i < parts - 1; i++) {
        const pn = Math.ceil(0.64 * (num - sumParts))
        yield pn
        sumParts += pn
    }
    yield num - sumParts;
}

console.log(...splitNParts(100, 8));