我正在尝试创建一个接受 2 个参数min
并max
在两个整数之间生成随机数的 javascript 函数。那部分很容易。
事情变得粗糙的地方是我需要创建一个条件来说明
function generateNum (min, max) {
var randNumber = Math.ceil(Math.random()*(max - min)+min);
if (randNumber === max) {
// store the result (probably in an array) and generate a new
// number with the same behavior as randNumber (e.g. it is also
// stores it's total in the array and recursively "re-generates
// a new number until max is not hit)
}
}
想法是对其进行递归处理,以便存储、组合并返回最大命中数的总和。
例如:脚本接收 5/10 的 min / max 参数generateNum(5,10){}
。如果由 生成的值randNumber
是 5、6、7、8 或 9,那么将没有递归,函数将返回该值。如果由 is 生成的值randNumber
,10
则该值10
存储在一个数组中,并且该函数现在递归地“重试”(意味着生成了 10 次,然后该值作为附加对象存储在数组中,并且功能重试)。当过程停止时(可能是无限的,但每次递归重复的概率呈抛物线递减)。最终数字 (5, 6, 7, 8, 9) 将添加到生成max
值的总数中并返回结果。
相当不寻常的数学场景,如果这没有意义,请告诉我如何澄清。