我也来谈谈类似微信红包算法实现

最近在做一个类似微信红包的 拼手气红包的算法实现。

需求:

客户抛出一个想法 :他想在他的APP中加入类似微信红包功能。

1.要求每个人都能领取红包(不超过限定人数)

2.所有领取到红包的人加起来的金额一定要等于红包的总金额

3.每个人领取到的红包都是随机的。

4.红包数量最多为100个。最少为2个。(这是客户的微调 希望最少2个包才能发起)

5.最低红包金额为0.01。


算法思想:

假设红包金额为100元,发放n个红包,用户为y,剩余红包数量为x,剩余红包总金额为g



当y=1时(第1个用户)

n1红包=100随机数范围 

g=100-n1

x=n-1



当y=2时(第2个用户)

n2红包=(g)随机范围

x=x-1

g=g-n2



当y=3时(第3个用户)

n3红包=(g)随机范围

x=x-1

g=g-n3

.......



当y=x时(最后一个红包)

最后一个红包金额=g

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

推荐阅读更多精彩内容

  • 来源: http://www.douban.com/group/topic/14820131/ 调整变量格式: f...
    MC1229阅读 7,000评论 0 5
  • (转自http://www.douban.com/group/topic/14820131/,转自人大论坛) 调整...
    f382b3d9bdb3阅读 10,841评论 0 8
  • 亡蛾 火,炽烈,明亮 我是你诱来的蛾 熨烫,消解,融蚀 繁芜的肢体,烧干的血 火,阴厉,暴虐 你将枯萎焦成干涸 我...
    绿野先生寻诗名阅读 284评论 0 1
  • 接触并且正式入坑前端也有近两年了,谈谈我个人对于前端开发的一种理解吧,全为个人体验之谈。 偏向设计 所谓偏向设计,...
    elliot_huang阅读 593评论 0 1
  • 这是MrKevin365天写作计划第31天的写作内容。 1.曾国藩不仅仅是一个政治家或者军事家、思想家,他首先是一...
    MrKevin阅读 1,554评论 3 4