V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
guanmm
V2EX  ›  问与答

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

  •  
  •   guanmm · 2018-07-18 10:37:14 +08:00 · 506 次点击
    这是一个创建于 2274 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    1 条回复    2018-07-30 15:53:39 +08:00
    guanmm
        1
    guanmm  
    OP
       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、如果使用这种算法的话,就不用预先插入中奖顺序到数据库中了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   978 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 19:26 · PVG 03:26 · LAX 12:26 · JFK 15:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.