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

有没有绝对均衡的红包算法?

  •  
  •   a1310747 · Mar 22, 2017 · 2510 views
    This topic created in 3350 days ago, the information mentioned may be changed or developed.
    最近看到个疑似微信红包的算法
    public static double getRandomMoney(LeftMoneyPackage _leftMoneyPackage) {
    // remainSize 剩余的红包数量
    // remainMoney 剩余的钱
    if (_leftMoneyPackage.remainSize == 1) {
    _leftMoneyPackage.remainSize--;
    return (double) Math.round(_leftMoneyPackage.remainMoney * 100) / 100;
    }
    Random r = new Random();
    double min = 0.01; //
    double max = _leftMoneyPackage.remainMoney / _leftMoneyPackage.remainSize * 2;
    double money = r.nextDouble() * max;
    money = money <= min ? 0.01: money;
    money = Math.floor(money * 100) / 100;
    _leftMoneyPackage.remainSize--;
    _leftMoneyPackage.remainMoney -= money;
    return money;
    }
    }
    代码很简洁 也能实现红包的功能,但是我发现第一个抢红包的会有个最大封顶值。。。有没有其他算法来实现均衡呢
    a1310747
        1
    a1310747  
    OP
       Mar 22, 2017
    刚发的贴显示居然是一天前 是被降权了吗

    SpicyCat
        2
    SpicyCat  
       Mar 22, 2017
    平分。。。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2675 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 10:57 · PVG 18:57 · LAX 03:57 · JFK 06:57
    ♥ Do have faith in what you're doing.