V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wploey
V2EX  ›  程序员

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

  •  
  •   wploey · 9 天前 · 840 次点击
    eg. 20000 元 分 10000 个红包, 每个红包为 1-10 元, 怎么确定不超总金额, 又能确定有 10000 个红包呢😅
    5 条回复    2020-11-21 14:20:38 +08:00
    icql
        1
    icql   9 天前 via iPhone
    说个笨办法,先拆 10000 个 1 块钱,遍历这 10000,每次从 1-900 里抽个随机数,从剩下的 10000 块扣除,加在前面的 1 块钱上面,直到把剩下的 10000 花完🤪
    chenluo0429
        2
    chenluo0429   8 天前 via Android
    事先分好 10000 个红包,然后随机数抽取 0-9999 就可以了。如果要求不是那么高,可以先生成一个 10000 位的数组,每一位填充 1 。然后重复 10000 次操作,每次生成 0-9999 的随机数,向数组该位加一,如果等于 10 重新取一次,直至这 10000 被分配完为止。
    liudengchn
        3
    liudengchn   8 天前
    @icql 虽然方法笨但是很实用~哈哈
    learningman
        4
    learningman   8 天前
    这个可以开个 dp )
    dangbiao1991
        5
    dangbiao1991   8 天前 via iPhone
    离线拆包,顺序打散。线上依次发就可以了。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   982 人在线   最高记录 5268   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 20:18 · PVG 04:18 · LAX 12:18 · JFK 15:18
    ♥ Do have faith in what you're doing.