while (nums.length !== splits) {
const { val, idx } = nums.reduce(
(a, v, i) => (v > a.val ? { idx: i, val: v } : a),
{ idx: -1, val: -Infinity }
);
/* // OR
const idx = Math.floor(nums.length * Math.random());
const val = nums[idx]; */
let a, b;
do {
a = Math.round(val * Math.random());
b = val - a;
} while (a === b || nums.includes(a) || nums.includes(b));
nums.splice(idx, 1, a, b);
}
return nums;
}
А вот и решение, интересно
Попробуй 247 и 24 аргументы воткнуть)
да все накрылось
скажите полностью условия одним сообщением, пожалуйста
мне нужно разбить число X, на N кол-во рандомных чисел, которые в своей общей сумме составят число X
это я понял, а 0 и повторящщщиейся числа и т.п.? или это пофигу?
Одинаковые числа можно? Нули можно? Не целочисленные можно?
здесь это работает так как я хочу, но 247 и 24 все ломает и получается бесконечный цикл
нет, в каком плане нули? не целочисленные не желательно но можно
Нули в плане (10 5) = 0 0 3 3 4
Да что значит нежелательно, но можно, скажите чётко условия задачи или покажите, откуда вы её взяли
Обсуждают сегодня