怎样抢红包才能更容易手气最佳

    jwolf 
4257  0  0   2017-1-28 3:42


    新年的第一篇文章,首先祝大家新年快乐,身体健康!

最近微信群里抢红包的太多,手气不好啊,总抢不到“最佳手气”,于是简单研究了一番,首先我们先看看微信随机红包是怎样随机法的:

引用两篇文章:

微信红包的架构:https://www.zybuluo.com/yulin718/note/93148

       参照了部分资料,我这里用JavaScript模拟了大概算法:

var packet = {
    packNumber:10,
    money:100
};
 
function getRandomMoney(packet) {
    if (packet.packNumber == 0) {
        return;
    }
    if (packet.packNumber == 1) {
        var _lastMoney = Math.round(packet.money * 100) / 100;
        packet.packNumber--;
        packet.money = 0;
        return _lastMoney;
    }
    var min = 0.01,
        max = packet.money / packet.packNumber * 2,
        money = Math.random() * max;
        money = money < min ? min : money;
        money = Math.floor(money * 100) / 100;
    packet.packNumber--;
    packet.money = Math.round((packet.money - money) * 100) / 100;
    console.log(money);
    return money;
};
for(var j = 0;j<packet.packNumber;j++){
   getRandomMoney(packet);
}

几个关键点:

1、         微信随机红包的随机不是预算出来的,也就是有时间的维度在,根据这点,至少红包的随机数范围跟抽取的时序有关;

2、         每次计算(除了最后一个)的随机大小范围是 剩余金额/剩余红包数 * 2 ,举个例子,假如总额100块发10个随机红包,第一个开的红包的范围是0.0120,第二个开的随机大小范围就依赖第一个红包取的多少,后续的随机数范围都依赖前面真实开出的红包多少,随机数范围的变化自然可能性更大;

3、         在没有抽取之前,每次抽取的期望都是均值;

 

 

其实也不复杂,总结一下:

1、         抱着“求稳”心态的小伙伴应该尽量早一点抢

2、         在后面抢的小伙伴更具“冒险性”,因为你可能拿到更多,或者更小

3、         最后,根据实际经验,考虑到小伙伴发的红包总是远少于群里人员数,“狼多肉少”,加上后面抢有抢不到红包的可能和各种手速(想稳定抢第一也难啊),有红包还是赶紧抢吧!

 

好了,说了那么多,貌似都是废话,别打我,大过年的,再祝大家新年快乐,身体健康,写代码的,BUG!!


本人学术有限,如有错失纰漏欢迎留言指出,如果觉得文章有用可以打赏支持一下,谢谢:

支付宝                           微信: 

向我付款(支付宝)     向我付款(微信)