总人数递增如何发红包

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

阅读 2.8k
5 个回答

你这个需求就不对吧……

你是说总奖池是 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))
....

以此类推

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题