在javascript中随机分配数字
我有40个水果,我想随机分发并以10的长度数组存储。在javascript中随机分配数字,javascript,algorithm,Javascript,Algorithm,我有40个水果,我想随机分发并以10的长度数组存储。 请参阅下面的代码输入 var fruits = 40; var arr = []; 我想要这样的输出 arr=[2,5,1,0,0,3,6,10,0,13] 数组的10个位置应随机填充,但值的加法应为40。递归分治方法: function distribute(length, value) { if (length <= 1) return [value]; var half = Math.floor
请参阅下面的代码输入
var fruits = 40;
var arr = [];
我想要这样的输出
arr=[2,5,1,0,0,3,6,10,0,13]
数组的10个位置应随机填充,但值的加法应为40。递归分治方法:
function distribute(length, value) {
if (length <= 1)
return [value];
var half = Math.floor(length / 2),
dist = Math.floor(Math.random() * value);
return distribute(half, dist).concat(distribute(length-half, value-dist));
}
函数分布(长度、值){
如果你试过什么东西?“蓝脚”这个词对我来说并不是太“宽”。“JA”是的。Bergi给出的答案是完全正确的。@萨尔玛纳在解决这个问题时没有明显的尝试,通常是在太宽的范畴里提出问题。“蓝脚是预期的输出,我不明白为什么你会认为它太宽了。”“太宽了"原因本身太宽泛了。它给出了范围错误RangeError:超过了最大调用堆栈大小@KhawerZeshan你确定你用非零整数长度调用它吗?是的@KhawerZeshan哦,我是瞎子。感谢你实际试用了这段代码-显然4年来没有人这么做过!一半不应该是c我猜是随机计算的。@Bergi现在这个工作正常还是有更好的解决方案?