• 请不要在回答技术问题时复制粘贴 AI 生成的内容
wploey
V2EX  ›  程序员

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

  •  
  •   wploey · Nov 20, 2020 · 2701 views
    This topic created in 2010 days ago, the information mentioned may be changed or developed.
    eg. 20000 元 分 10000 个红包, 每个红包为 1-10 元, 怎么确定不超总金额, 又能确定有 10000 个红包呢😅
    6 replies    2021-05-30 23:17:04 +08:00
    icql
        1
    icql  
       Nov 21, 2020 via iPhone
    说个笨办法,先拆 10000 个 1 块钱,遍历这 10000,每次从 1-900 里抽个随机数,从剩下的 10000 块扣除,加在前面的 1 块钱上面,直到把剩下的 10000 花完🤪
    chenluo0429
        2
    chenluo0429  
       Nov 21, 2020 via Android
    事先分好 10000 个红包,然后随机数抽取 0-9999 就可以了。如果要求不是那么高,可以先生成一个 10000 位的数组,每一位填充 1 。然后重复 10000 次操作,每次生成 0-9999 的随机数,向数组该位加一,如果等于 10 重新取一次,直至这 10000 被分配完为止。
    liudengchn
        3
    liudengchn  
       Nov 21, 2020
    @icql 虽然方法笨但是很实用~哈哈
    learningman
        4
    learningman  
       Nov 21, 2020
    这个可以开个 dp )
    dangbiao1991
        5
    dangbiao1991  
       Nov 21, 2020 via iPhone
    离线拆包,顺序打散。线上依次发就可以了。
    wploey
        6
    wploey  
    OP
       May 30, 2021 via Android
    发出去的红包没加唯一索引,有的用户同时点多次,总共薅了我 1400 多🤣机智的我后面伪造了下数据,真蛋痛
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2846 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 06:03 · PVG 14:03 · LAX 23:03 · JFK 02:03
    ♥ Do have faith in what you're doing.