总金额,总抽取数量 确定的情况下,抽奖有什么思路

2020-11-20 20:48:25 +08:00
 wploey
eg. 20000 元 分 10000 个红包, 每个红包为 1-10 元, 怎么确定不超总金额, 又能确定有 10000 个红包呢😅
1729 次点击
所在节点    程序员
6 条回复
icql
2020-11-21 00:44:27 +08:00
说个笨办法,先拆 10000 个 1 块钱,遍历这 10000,每次从 1-900 里抽个随机数,从剩下的 10000 块扣除,加在前面的 1 块钱上面,直到把剩下的 10000 花完🤪
chenluo0429
2020-11-21 09:58:04 +08:00
事先分好 10000 个红包,然后随机数抽取 0-9999 就可以了。如果要求不是那么高,可以先生成一个 10000 位的数组,每一位填充 1 。然后重复 10000 次操作,每次生成 0-9999 的随机数,向数组该位加一,如果等于 10 重新取一次,直至这 10000 被分配完为止。
liudengchn
2020-11-21 11:41:45 +08:00
@icql 虽然方法笨但是很实用~哈哈
learningman
2020-11-21 13:54:12 +08:00
这个可以开个 dp )
dangbiao1991
2020-11-21 14:20:38 +08:00
离线拆包,顺序打散。线上依次发就可以了。
wploey
2021-05-30 23:17:04 +08:00
发出去的红包没加唯一索引,有的用户同时点多次,总共薅了我 1400 多🤣机智的我后面伪造了下数据,真蛋痛

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/727674

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX