首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP实现的随机红包算法示例

本文实例讲述了PHP实现的随机红包算法。..., 红包金额用整数表示, 假设每个红包里边有x个糖豆, 每个人最少一个豆 第一种: 每个红包的最大金额是: (剩余金额/剩余红包数)*2, 需要开始的时候预先分配给每个人一个豆 function randBean...: (剩余金额/剩余红包数)*3; 但是要求每次最少发2个红包 第三种, 线段法, 随机生成几个数字, 将一个直线分成几段, 每段的长度(这个波动比较大, 不是很平均, 如果限制了每个红包的大小, 会比较麻烦...剩余人数*1个豆; 去掉这些必须剩余的豆数后, 以剩下的豆数的平均值为最大值进行随机生成本次豆数 PS:这里再为大家提供两款功能类似的在线工具供大家参考: 在线随机数字/字符串生成工具: 在线随机字符.../随机密码生成工具: 希望本文所述对大家PHP程序设计有所帮助。

88420
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    红包随机算法&微信群红包随机算法

    为活跃年会氛围,年会直播间会有抢红包环节。因产品要求,红包金额要随机生成,所以这里涉及到指定红包总额、数量和最大最小值情况下如何生成红包金额。...2.参考微信群红包算法 本质上,这和微信群红包没什么区别,发出一个固定总金额的红包,指定红包数量,那么随机分配红包金额时需要满足哪些规则?...一旦前边的同学随机到一个较大的金额,后边的同学可以随机的范围就逐步收窄,抢红包就变成了一个拼手速的游戏了。 实际上,微信群红包采用的是二倍均值法,也就是每次随机上限为剩余红包金额均值的两倍。...微信群红包金额分配算法是这样的: 每次抢红包直接随机随机的范围是[1, 剩余红包金额均值的两倍],单位分 这个公式,保证了每次随机金额的平均值是相等的,不会因为抢红包的先后顺序而造成不公平。...3.一个可用的随机算法 此次年会产品同学开始跟我说需要像微信群红包那样的随机分配红包金额,但是仔细研究了微信群红包的算法,才发现产品同学想要的效果和微信群红包并不同,她想要的是红包金额严格随机范围在 [

    7.1K20

    谈谈微信红包海量运营--10亿个红包难在哪里?

    编者按:2015年微信红包书写了一个全新奇迹——除夕摇一摇总次数110亿次,峰值1400万次/秒,8.1亿次每分钟,微信红包收发达10.1亿次!惊人数字的背后,腾讯是怎么支撑的?...春晚当天,微信红包联合团队彻夜加班全程守护 400倍的挑战 今年微信红包方式与去年用户与用户之间互发红包相比,摇红包的方式对业务量来说是一个极大的爆发,光是除夕10:30送出的一波红包就达到了1.2亿个...进入抢红包环节,后台数据瞬间飙升 10亿红包,难在哪里? 微信团队总结下来有三大难点: 快——如何保证用户快速摇到红包? 准——如何保证摇到的红包能成功拆开? 稳——如何保证拆开的红包能分享出去?...系统降级可以分为两个方面,一是把核心功能进行分拆和简化,通过辅助轻量化的服务实现,确保最短关键路径的可行,比方说在接入层置入摇红包逻辑,将每秒千万级请求转化为每秒万级的红包请求,再传到红包服务的后端逻辑...,避免牵一动全身的风险,实现真正的灰度服务。

    1.1K70

    最全解密微信红包随机算法(含代码实现)

    例如: 100 块钱,总共 10 个红包,那么平均值是 10 块钱一个,那么发出来的红包的额度在 0.01元~20元之间波动。...5、微信红包算法模拟实现2(含代码) 我对随机算法很感兴趣,正巧最近研究的方向有点偏随机数这块,所以也自己实现了一下微信的红包分发算法(算法要点参考的是本文第三节内容)。...于是我就有一个猜测: 微信可能不是对全金额进行随机的,可能在派发红包之前,已经对金额做了处理,比如,事先减去(红包个数*0.01),之后在每个红包随机值基础上加 0.01,以此来保证每个红包最小值都是...5.7、补充 上几张后面测试的图,补充一下之前的观点, n 个红包,总金额是(n+1)*0.01,最后一个领的一定是手气最佳。 ? ? 大家也可以试试。...6、参考资料 [1] 微信红包随机算法初探 [2] 微信红包算法的分析 [3] 微信红包的架构设计简介 [4] 微信红包随机算法是怎样实现的?

    13.5K23

    社交软件红包技术解密(十一):最全解密微信红包随机算法(含代码实现)

    例如: 100 块钱,总共 10 个红包,那么平均值是 10 块钱一个,那么发出来的红包的额度在 0.01元~20元之间波动。...例如 6 个,总额 0.09 的包,最后一个抢的有极大概率是 0.03。 b4.png 然而我之前的代码却没办法体现出这一点。...于是我就有一个猜测: 微信可能不是对全金额进行随机的,可能在派发红包之前,已经对金额做了处理,比如,事先减去(红包个数*0.01),之后在每个红包随机值基础上加 0.01,以此来保证每个红包最小值都是...5.7、补充 上几张后面测试的图,补充一下之前的观点, n 个红包,总金额是(n+1)*0.01,最后一个领的一定是手气最佳。 大家也可以试试。...6、参考资料 [1] 微信红包随机算法初探 [2] 微信红包算法的分析 [3] 微信红包的架构设计简介 [4] 微信红包随机算法是怎样实现的?

    1.3K30

    微信 随机红包的实现原来如此简单

    微信红包在群里面分发的有两种形式,一种是随机红包,另一种是普通红包,首先来讲解一下随机红包的实现过程吧。...随机红包以及普通红包实现过程 1、导入需要使用到的库 import random # 实现过程是一个非常简单的过程,所以只是需要使用到一个随机模块就行了 2、 定义一个随机红包方法过程的函数 #...3 、普通红包的函数 # 普通红包 def hongbao(single,num): # single 单个红包的金额 num 红包个数 total = single*num return...total # 返回总金额 4、对随机红包函数进行调用获取随机红包金额 if __name__ == '__main__': total = input("请输入总金额(单位元):...") num = input("请输入需要的数量:") list1 = randbao(float(total),int(num)) print(list1) 这样子就实现了微信红包方法的全过程

    1.1K20

    php生成微信红包数组的方法

    php/ * @param $total [你要红包总额] * @param int $num [几个] @return array [生成红包金额] /function getRedGift($...total, $num = 10) { $min = 0.01;//最小的红包金额$wamp = array(); $returnData = array(); for ($i = 1; $i < $num...< 0) {//如果红金金额的最大值小于0就跳出循环break; } $money = @mt_rand($min * 100, $safe_total * 100) / 100; //随机产生一个红包金额..., mt_rand(min,max)是生成min到max的随机整数,包含min和max,所以为了生成的红包金额有小数,所以*100先,再100$total = $total - $money; //剩余红包总额...总结 以上所述是小编给大家介绍的php生成微信红包数组的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对ZaLou.Cn网站的支持!

    1K21
    领券