搜尋

首頁  >  問答  >  主體

javascript - 用js實作紅包分配問題

100元給10個人發紅包,紅包大小隨機,每個人都能拿到紅包

滿天的星座滿天的星座2790 天前892

全部回覆(3)我來回復

  • 欧阳克

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

    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:39

    可以看看這個
    /q/10...

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

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

    思路:使用random函數每次隨機分配 每次得出的紅包值大於0.01小於剩餘金額-剩餘人數*0.01 最後一個人獲得剩餘全部就行

    回覆
    0
  • 取消回覆