Rumah > Soal Jawab > teks badan
100 yuan diberikan kepada 10 orang dalam sampul merah Saiz sampul merah adalah secara rawak dan semua orang boleh mendapat sampul merah
欧阳克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})})
Idea teras:
Berat ditentukan secara langsung oleh nombor rawak, bukan jumlah.
曾经蜡笔没有小新2017-07-05 10:39:39
Idea: Gunakan fungsi rawak untuk memperuntukkan secara rawak setiap kali Nilai sampul merah yang diperolehi setiap kali adalah lebih besar daripada 0.01 dan kurang daripada jumlah yang tinggal - bilangan orang yang tinggal * 0.01 Orang terakhir boleh mendapatkan semua baki wang