车大棒浅谈微信红包随机分配猜想

背景:

做为一名贫困的月光搬砖党,如果想每天加餐能够多加一块肉。那么就得靠微信红包手速抢红包,所以为了实现梦想。我给自己制定了目标,先抢够一个亿。

先抢够一个亿

可是这几天微信红包手气,完全都不忍直视呀。每次都手气最差,就连自己的发的红包自己抢,也还是抢几分钱。阿西吧!早餐包子钱都吃不上了。


我的包子呢?

微信红包顺序拆分猜想

所以当我看见隔壁老王正在吃着热腾腾的包子加豆浆,只能默默端起了水杯去饮水机旁边打水喝,打算用水安抚我抗议的胃。

之后一边静静灌水喝,一边开始思索起来。为什么老王运气好,总是能够得到最佳手气。而我却总是几分几分,这不科学。难得微信红包有什么奥秘?难得拆分红包的先后顺序会影响最佳手气的概率?

于是本人赶紧上网搜了搜,原来早在微信红包出来的时候。就有人已经对于微信红包的随机分配算法进行探讨,并给出了相应回复。(看看大佬们都关注点总是和我们这些弱渣关注点不一样,(ˇˍˇ) 向大佬们低头。)

图片来自知乎大神回复
知乎大神30人抢500测试2000次截图

可是很块我就发现,这个仅供参考的代码就有一点问题。根据图中的代码

  double min = 0.01;
  double max = _leftMoneyPackage.remainMoney / _leftMoneyPackage.remainSize * 2;

通过知乎大神上面的提供的代码可以看出,微信发放的红包中。单个红包最小金额为0.01元,而最大金额则为 剩余的金额 / 剩余未拆开红包的数量 之后再乘以2

即我发一个5毛钱的红包,分5人发送。那么其中手气最佳的最大金额应该是 5 / 5 * 2 = 2毛。
对此我在微信群,发了一个5毛红包做了测试:

心疼自己的手气

这里老王在专心吃的他的包子,因此没有去抢我发的红包。可是这样我还是一样拿不到手气最佳,心疼我这个手气......

这都是什么手气呀!

嗯额,不扯远了。通过这个手气最佳的金额来看 0.34 > 0.5/5 * 2 ,因此从这个红包的金额来看,现在微信单个红包最大金额不满足知乎提供的公式。(在当时是不是满足,我就不清楚了,毕竟是好几年的公式了!)

但是后续在多个群里测试多个5毛红包之后,发现这个关于第一个领红包、以及最后一个领红包先后顺序领红包,获得手气最佳的概率是一样的。

只能说跟欧洲人和非洲人有关,看来这几天得多到老王的位置吸吸欧气 ( ̄_, ̄ )

其他的随机算法实现

在通过惨痛红包测试之后,证明现在当初那个公式可能有误。但是肿么不能这样就结束了,总得搞点事情出来呀!(于是乎,翻阅半天的帖子之后,便回到当初知乎题主提问的问题上,尝试解决他的问题。~(~ ̄▽ ̄)~)

知乎题主的问题
解题:

尝试了一下,题主的问题。我好像能够解决呢!!

不明真相的吃瓜群众

说实话,还是觉得题主的这个随机分配想法还是很妙的,要是我就想不出来这种随机分配金额的办法来。也要向提问题主低头(*  ̄︿ ̄)!

function weixin1(money, num) {
    var arr1 = [];
    var price = 0;
    var ha = 0;
    var random = 0;
    for(var i = 0; i < num; i++) {
        if(i == num - 1) {
            arr1[i] = parseFloat(money.toFixed(2));
            break;
        }
        arr1[i] = parseInt(parseInt(money / (num - i) * 100) / 100 * (parseInt(Math.random() * 100) / 100) * 100) / 100;
        if(!arr1[i]){
            arr1[i] = 0.01;
        }
        money -= arr1[i];
        console.log(money);
    }

    for(var i = 0; i < arr1.length; i++) {    //用来检测最后的总数是否正确
        price += arr1[i];

    }

    function randomsort(a, b) {
        return Math.random() > 0.5 ? -1 : 1;
    }

    arr1.sort(randomsort);          //数组重新随机排列
    console.log(arr1)
    console.log(price);
}
weixin1(100, 5);
weixin1(0.5, 5);
浏览器运行控制结果

以上就是对微信红包随机分配猜想的胡扯篇,欢迎各位大佬们指导并给出相应的意见。(当然红包打赏我就更好了( ̄︶ ̄),哎呦!我又想起了我那么多可怜测试红包。)

向各位大佬低头
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 现在是2017年7月16日早上8:21,起床了,却不愿学习,觉得自己好颓废。当初要买东奥的正版课程,结果在当当上也...
    宫野君阅读 182评论 0 0
  • 我知道你也在努力,为你为我为我们共同的未来。 其实我也不懂我该怎么对待你这时候的坏脾气,因为我也有事要烦,但你却,...
    黄城城阅读 141评论 0 1
  • 《非暴力沟通》与人交往神器,一样的话,以不同的方式说出,达到的效果也大相径庭! 非暴力沟通过程: 什么是我的观...
    天天天蓝tian阅读 395评论 0 0
  • 6
    16de687f9f78阅读 103评论 0 3
  • 小石榴看着远处慢慢靠近自己的那片火浪,开始感到不知所措。 她猛地将手中的刀往地上狠狠一戳,一股磅礴的气浪向四周...
    红色的以太阅读 457评论 0 0