[求助帖] 抽奖如何预生成奖品顺序

2018-07-18 10:37:14 +08:00
 guanmm

我们想做一个抽奖活动,打算模仿某平台的抽奖活动。抽奖的逻辑如下图,现在有 2 个问题想问下大家怎么解决:
1、如何生成便利贴、充电宝、iphone 这样的序列?能否给点逻辑算法上的提示?
2、奖品序列在数据库的保存形式是什么?

感谢!

505 次点击
所在节点    问与答
1 条回复
guanmm
2018-07-30 15:53:39 +08:00
自己回答吧。
1、比如,7 个便利贴,2 个充电宝,1 个 Iphone。
思路:第一次,用 7 除 3,结果>=2,获得便利贴,此时剩下 6、2、1 ;
第二次,用 6 除 3,结果>=2,获得便利贴,此时剩下 5、2、1 ;
第三次,用 5 除 3,结果<2,放弃便利贴 5,此时剩下 2、1,用 2 除 1,结果>=2,获得充电宝,此时剩下 5、1、1 ;
第四次,用 5 除 2,结果>=2,获得便利贴,此时剩下 4、1、1 ;
...以此类推,可以获得上面的抽奖顺序。
特殊情况,当剩下 3、1、0 时,简化成 3、1。
2、如果使用这种算法的话,就不用预先插入中奖顺序到数据库中了。

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

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

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

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

© 2021 V2EX