Lua实现简单的伪随机红包算法

今天刚好用Lua实现了一个伪随机红包,可能可能随机的值并没有太好,如果有更好的想法可以评论说出来大家讨论一下;这个随机红包的的要求是给一个指定的数额,和一个最大领取金额和最小领取金额,然后指定给多少个人随机领取;
思路:

(1)第一步:每次的随机数范围通过总金额 - (已被领取金额+剩下所有人的最低金额)进行计算后,放大倍数来拿到一个范围更大的随机数再除掉放大倍数
(2)第二步:进行计算每个人能领取到的随机金额,然后若是没有分配到的将给一个最低值
(3)第三步:若是剩下的金额还比领取的人数还多则先平均后,平均后若还有剩下则把剩下的都给第一个领取的人

-- 随机数函数
function rank( min,max,num,sum )
    local sub = 0
    local res = {
   }
    for i=num,1,-1 do
        local randMax = sum - 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值