猫史档案馆


阶梯概率随机数代码<~~~此乃工业废料

用户:2333280823332808查看:152 回复:4 评论:12 创建时间:2023-06-21T21:32:13


function randint_stair(min,max,stair=1) {
    return Math.floor((Math.random()*((max+1-min)**stair))**(1/stair))+min
}

stair的值越大,获得大的数的概率越小,反之亦然,当stair=1时,就是均等概率


回复

上一页第 1 页 / 共 1 页下一页
萌新大佬萌新大佬

什么原理?

感觉没啥区别但是实测确实有效

点赞0


评论

这其实是基于指数函数开发的

是利用了精度问题吗?因为纯数学角度上这和普通随机没区别

看上面


2333280823332808

在指数函数中,因为x的变化,同样大小区间的y所对应的x的区间会也来越小,其实这就是原理(看不懂的话可以去看看高中的指数函数那一章)

点赞0


评论

主要是,你先算了stair次方,再算了1/stair次方,感觉是一次方啊

另外说这么复杂干嘛,不就是二阶导数为正嘛

不是,我在二次方后的区间进行了随机数,在这个区间被开方后大的数分到的区间和小的数的区间是存在一个变化的趋势的

看到了!主要是括号过于的。。。。。


盗码师盗码师

这个不如一剑的(

点赞0


评论

不对是yee剑

等概率和递进概率是不一样的

(((

yee剑整了些甚么(恼)


yee089yee089

太棒了,我逐渐理解了一切

 

点赞0


评论

可以快速幂优化(划)