По принципу, что сумма первых K элементов - ближе всего к полной сумме K/qty
Можешь не повторять - я выше цитату из своей доки привёл: https://t.me/nodejs_ru/1131980
Короче, воспроизведёшь все 3 примера из https://t.me/nodejs_ru/1131980 ? 1. разделить по выше описанному принципу 2. взять половину (или сколько там, в зависимости от qty, чтоб всё ещё считалось по тому же принципу) 3. проверить остаток - он должен быть равен ровно тому, что осталось без того, что ты "взял" во втором пункте
//TODO: check if qty is integer and > 0 function divideInt(value, qty) { const result = [] let current = 0; for (var i = 1; i < qty; i++) { const previous = current; current = Math.round(value * i/qty) result.push(current - previous) } result.push(value - current) return result } console.log(divideInt(1000, 7)) // [ 143, 143, 143, 142, 143, 143, 143 ]
Поздравляю - ты повторил мой код: https://github.com/chantelle-lingerie/sales/blob/master/src/injectable/basics.ts#L26 Первый пункт решён Остался второй и третий ;)
Обсуждают сегодня