设计发红包的API ( 微信红包的算法是怎样的?)

导读:本篇文章讲解 设计发红包的API ( 微信红包的算法是怎样的?),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

 

让你设计一个微信发红包的API,你会怎么设计,不能有人领到的红包里面没钱,红包数值精确到分。

我的想法:

如果是随机红包,根据发红包的人输入的钱数,默认精确到分,也就是0.01元。

最小的不可再分的单元就是0.01元。

如果红包的分数是10份,那么就把红包比如50元,那么可以生成1-4991的随机整数。

极端案例,一个人分得49.91元,剩余九个人每人分得0.01元。

第一个人分完,剩下的按照这个规则继续。

微信红包的规则

微信红包算法 – 云+社区 – 腾讯云

过年很多人会发微信的红包,但是为毛很多人说自己得不到最佳,因此作者写了一个微信红包发送的算法。

首先科普一下,微信红包的 规则 为:

红包金额的区间为 0.01平均值的2倍

该规则为 微信团队公布的算法 ,读者可自行上网查找相关信息。

这也就是说,假设给10个人发送100元的红包,那么:

第一个人得到金额的区间为[0.01,20]

假设 前三个人 领到的红包为50元,那么此时红包还剩下 7个人 没有领取红包,红包还剩下 50元 ,那么下一个人可以得到的最大金额为:

(100-50)/(10-3)*2=14.29

第四个人得到的金额的区间为[0.01,14.29]

以此类推,最终可以将红包领完。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/92824.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!