javascript - Utiliser js pour implémenter le problème de distribution des enveloppes rouges
滿天的星座
滿天的星座 2017-07-05 10:37:39
0
3
816

100 yuans sont donnés à 10 personnes dans des enveloppes rouges. La taille de l'enveloppe rouge est aléatoire et tout le monde peut recevoir une enveloppe rouge

.
滿天的星座
滿天的星座

répondre à tous(3)
学霸
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})})

Idée principale :
Le poids est directement déterminé par le nombre aléatoire, pas par le montant.

世界只因有你

Vous pouvez jeter un œil à ceci
/q/10...

曾经蜡笔没有小新

Idée : utilisez la fonction aléatoire pour attribuer aléatoirement à chaque fois. La valeur de l'enveloppe rouge obtenue à chaque fois est supérieure à 0,01 et inférieure au montant restant - le nombre de personnes restantes * 0,01. La dernière personne peut obtenir tout l'argent restant

.
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal