如何使用crypto.randomBytes生成特定范围内的随机数?
我希望能够像这样生成一个随机数:
console.log(random(55, 956)); // where 55 is minimum and 956 is maximum
Run Code Online (Sandbox Code Playgroud)
我只能在随机函数内使用crypto.randomBytes来为这个范围生成随机数.
我知道如何将生成的字节从randomBytes转换为十六进制或十进制,但我无法弄清楚如何在数学上从随机字节中获取特定范围内的随机数.
例如,房间里有6把椅子,有4个女孩和2个男孩.他们可以坐在这把椅子上,有15种独特的方式6!/(4!*2!)=15.
我的问题是找到有效的方法来计算他们选择坐的可能性的位置.按位置我的意思是:
BBGGGG - possible position #1
BGBGGG - possible position #2
BGGBGG - possible position #3
BGGGBG - possible position #4
BGGGGB - possible position #5
GBBGGG - possible position #6
GBGBGG - possible position #7
GBGGBG - possible position #8
GBGGGB - possible position #9
GGBBGG - possible position #10
GGBGBG - possible position #11
GGBGGB - possible position #12
GGGBBG - possible position #13
GGGBGB - possible position #14
GGGGBB - possible position #15
Run Code Online (Sandbox Code Playgroud)
例如,他们选择位置 …