搜索

首页  >  问答  >  正文

javascript - 用js实现红包分配问题

100元给10个人发红包,红包大小随机,每个人都能得到红包

滿天的星座滿天的星座2725 天前854

全部回复(3)我来回复

  • 欧阳克

    欧阳克2017-07-05 10:39:39

    1

    2

    3

    4

    5

    6

    7

    8

    <code class="js">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})})</code>

    核心思想:
    随机数直接确定的权重, 而非金额.

    回复
    0
  • 世界只因有你

    世界只因有你2017-07-05 10:39:39

    可以看看这个
    /q/10...

    回复
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-07-05 10:39:39

    思路:使用random函数每次随机分配 每次得出的红包值大于0.01小于剩余金额-剩余人数*0.01 最后一个人获得剩余全部就行

    回复
    0
  • 取消回复