距开课0天0时0分-10069208秒
滿天的星座2017-07-05 10:37:39 0 3 352
[JavaScript讨论组]举报回复话题 ↕
100元给10个人发红包,红包大小随机,每个人都能得到红包
3
0
分享
欧阳克 2017-07-05 10:39:393楼
rpAmount = 100 ppCount = 10 rpResult=[] rpRnds = [] rpRndSum = 0 for(let i=0;i<ppCount;i++){let rnd = Math.random();rpRndSum+=rnd;rpRnds.push(rnd);} rpRnds.forEach((rnd)=>{rpResult.push(rpAmount*rnd/rpRndSum)}) console.log('rpResult',{rpResult,sum:rpResult.reduce((acc,val)=>{return acc+val})})
核心思想:随机数直接确定的权重, 而非金额.
赞 +0添加回复
世界只因有你 2017-07-05 10:39:392楼
可以看看这个/q/10...
曾经蜡笔没有小新 2017-07-05 10:39:391楼
思路:使用random函数每次随机分配 每次得出的红包值大于0.01小于剩余金额-剩余人数*0.01 最后一个人获得剩余全部就行
欧阳克 2017-07-05 10:39:393楼
核心思想:
随机数直接确定的权重, 而非金额.
赞 +0添加回复
世界只因有你 2017-07-05 10:39:392楼
可以看看这个
/q/10...
赞 +0添加回复
曾经蜡笔没有小新 2017-07-05 10:39:391楼
思路:使用random函数每次随机分配 每次得出的红包值大于0.01小于剩余金额-剩余人数*0.01 最后一个人获得剩余全部就行
赞 +0添加回复