问答

总人数递增如何发红包

作者:admin 2021-05-05 我要评论

具体需求大概是这样的:就是从除夕到元宵这16天内,连续签到16天的用户,在元宵这天(元宵这天是第16天)可以领取1000元的随机红包。现在就是说红包总额1000是已...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

具体需求大概是这样的:就是从除夕到元宵这16天内,连续签到16天的用户,在元宵这天(元宵这天是第16天)可以领取1000元的随机红包。现在就是说红包总额1000是已知的,但是在元宵这天连续签到的总人数是不固定的。这种红包算法大伙有好的建议吗?

###

你这个需求就不对吧……

你是说总奖池是 1000 块钱,然后累计 16 天登录的用户去随机分这 1000 块钱吗?

那要是这些人里有一部分要是元宵节那天就没来领红包,怎么办?是允许 1000 块钱分不完、有剩下的吗?


P.S. 支付宝集五福瓜分十亿红包这种,策略跟你这个其实不是一回事儿。

###

我觉得你们想的是等到元宵那天,签到了的才给发红包,所以虽然你知道了总额,但是不知道怎么发。

可以直接变成连续签到16+1天,这一天就是元宵节。然后元宵节签到的人才有资格瓜分这1000的红包。

等到元宵节的某个时间点,比如说晚上八点,然后开始统计人数,算红包,这样会不会好一点?

###

我觉得首页元宵这一天已经知道了连签15天的人数,可以以这个人数为基础设置一个红包大小范围随机领取,当然最后这个钱大概率是发不完的。。。

###

假设前 15 天有 500 人,你奖池 1000,假设第 16 天这些人签到率是 80 %。预留 1 500 20% = 50 元给可能不会签到的那些人。然后剩下 950 按照 400 人随机生成你想要的奖池。然后最后一天,前 400 人按照顺序轮流瓜分奖池,剩下 100 人就只能拿 1 块钱的安慰奖。

###

这个类似微信群里抢红包吧:

  1. 金额固定
  2. 潜在人数固定(红包个数,即前15天连续签到人数)

如果第16天一个人没有,即红包没有人抢,那资金就回去嘛。

所以,假设N个人,搞一个比较简单一点的随机方式就可以了:剩余金额/剩余人数 * 随机数
第1个人:S1 = RANDOM(0.5, 1.5) * (1000 / N)
第2个人:S2 = RANDOM(0.5, 1.5) * ((1000 - S1) / (N - 1))
....

以此类推

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 总人数递增如何发红包

    总人数递增如何发红包

  • antd-vue使用tooltip导致页面的输入框

    antd-vue使用tooltip导致页面的输入框

  • wepy2.0 真的坑,连报错都没有就不热更

    wepy2.0 真的坑,连报错都没有就不热更

  • vue框架下body样式一直显示不出来,求

    vue框架下body样式一直显示不出来,求

腾讯云代理商
海外云服务器