您当前的位置: 首页 >  算法

梁云亮

暂无认证

  • 2浏览

    0关注

    1211博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

仿红包算法

梁云亮 发布时间:2021-04-06 13:27:37 ,浏览量:2

思路

为了不让最终生成的红包值多少相差太悬殊,先得到红包平均值,然后具体的红包值在这个平均值上下浮动,具体浮动多少由系统指定,注意该值范围在[0,平均数之间)

具体实现:

  1. 根据用户输入的总金额、总人数、浮动范围,求得红包上限和下限
  2. 先给每个红包中塞入平均值金额,并求得剩余金额
  3. 产生随机的红包值,范围在[0,浮动范围)
  4. 当剩余金额-随机的红包值>=0时: 随机往一个红包里面塞入随机的红包值,当原红包值+随机的红包值不大于上限里放进去,大于上限时,重新产生随机数
  5. 当剩余金额-随机的红包值 high) { //如果红包总值小于等于最大值 index = (int) (Math.random() * (person )); //获取List下标 tmp = data.get(index); } data.set(index, tmp + rand); shengYu = shengYu - rand; //进行下一次循环 rand = (int) (Math.random() * (range) + 1);//产生[1,range]之间的随机数 } //最后修正 if(shengYu - rand high) { //如果红包总值小于等于最大值 index = (int) (Math.random() * (person )); //获取List下标 tmp = data.get(index); } data.set(index, tmp + shengYu); } //输出结果 int sum = 0; for (int i = 0; i
关注
打赏
1665409997
查看更多评论
立即登录/注册

微信扫码登录

0.0418s