public static void main(String[] args) {//红包数int number = 10;//红包总额float total = 100;float money;//最小红包double min = 1;double max;int i = 1;List math = new ArrayList();DecimalFormat df = new DecimalFormat("###.##");while (i < number) {//保证即使一个红包是最大的了,后面剩下的红包,每个红包也不会小于最小值max = total - min * (number - i);int k = (int)(number - i) / 2;//保证最后两个人拿的红包不超出剩余红包if (number - i <= 2) {k = number - i;}//最大的红包限定的平均线上下max = max / k;//保证每个红包大于最小值,又不会大于最大值money = (int) (min * 100 + Math.random() * (max * 100 - min * 100 + 1));money = (float)money / 100;//保留两位小数money = Float.parseFloat(df.format(money));total=(int)(total*100 - money*100);total = total/100;math.add(money);System.out.println("第" + i + "个人拿到" + money + "剩下" + total);i++;//最后一个人拿走剩下的红包if (i == number) {math.add(total);System.out.println("第" + i + "个人拿到" + total + "剩下0");}}
//取数组中最大的一个值的索引System.out.println("本轮发红包中第" + (math.indexOf(Collections.max(math)) + 1) + "个人手气最佳");}

博客搬家,本文新地址:http://www.zicheng.net/article/2

别人抢红包,我们研究一下红包算法相关推荐

  1. matlab程序模拟微信抢红包,微信红包算法MATLAB实现

    上午看到基友分享的微信红包算法的文章,代码很短,春节期间红包太火了,看完就也想实现下玩玩,原代码是JAVA的,没接触过JAVA,所以看懂后改成了MATLAB的.原文链接:微信红包随机算法初探 , 作者 ...

  2. php 红包算法教程,php仿微信红包分配算法的实现方法

    php仿微信红包分配算法的实现方法 本文实例讲述了php仿微信红包分配算法的实现方法.分享给大家供大家参考,具体如下: /** * 红包分配:把一定金额随机分配给指定人数 * * @param int ...

  3. 微信手气红包算法 php,PHP实现微信/QQ手气红包,随机算法分享

    最近有个客户找我实现扫码抢手气红包,大家平时都在使用微信/QQ收发红包,玩的不亦乐乎.大家在抢红包,而程序员在研究红包算法.那么手气红包的随机分配算法是怎么实现的呢?怎么保证每个人都领得到,而且满足正 ...

  4. 简单的算法:红包算法

    红包在中国传统有着悠久的历史,承载着长辈对晚辈的期许与祝福.微信红包功能上线后,红包不再局限于长辈与晚辈之间,也不再局限于过年这种特殊的时间背景.拼手气红包更是我们乐此不疲的功能.毕竟拼人品谁不爱呢. ...

  5. Python微信红包算法

    sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003& ...

  6. java 红包算法_JAVA实现拼手气红包算法

    实现拼手气红包算法,有以下几个需要注意的地方: 抢红包的期望收益应与先后顺序无关 保证每个用户至少能抢到一个预设的最小金额,人民币红包设置的最小金额一般是0.01元,如果需要发其他货币类型的红包,比如 ...

  7. 微信手气红包算法 php,微信随机生成红包金额算法php版

    最近在研究发红包的功能,于是写了个红包的生成算法. 红包生成算法的需求预先生成所有的红包还是一个请求随机生成一个红包 简单来说,就是把一个大整数m分解(直接以"分为单位,如1元即100)分解 ...

  8. 拼手气红包算法_二倍均值法

    使用二倍均值法进行的拼手气红包算法 假设M为总金额,N为抢红包人数,那么根据二倍均值法,每次抢到的金额 = 随机区间 (0, M / N X 2) 这个公式可以确保每个人获取的金额的平均值是相等的,不 ...

  9. 说说微信红包算法,为什么你总是抢的那么少?

    红包业务流程 拆包算法 1.无脑随机发  每个人抢红包,红包金额 = [0.01,红包剩余金额):最后一个人就不用随机了,无论剩下多少都是最后一个人的了. 2.线性切割法 把总金额数值,想象成一条绳子 ...

  10. 拼手气红包java_JAVA实现拼手气红包算法

    实现拼手气红包算法,有以下几个需要注意的地方: 抢红包的期望收益应与先后顺序无关 保证每个用户至少能抢到一个预设的最小金额,人民币红包设置的最小金额一般是0.01元,如果需要发其他货币类型的红包,比如 ...

最新文章

  1. JavaScript的运行模式
  2. linux中搭建vue-cli
  3. 运动目标检测_单高斯背景建模
  4. 抛硬币直到连续若干次正面
  5. ubuntu上网慢的问题
  6. (转)Arcgis for javascript实现百度地图ABCD marker的效果
  7. rs422 波特率高错误_质量流量计的应用问题与常见错误代码的故障处理
  8. 蓝桥杯2016年C/C++ 混搭
  9. rabbitmq 消息持久化
  10. 广东高等学校计算机水平考试准考证打印,广东高考准考证打印系统
  11. tomcat加载出现找不到web
  12. 去掉GaussView 3.07启动警告窗口的完整解决方案
  13. EAS BOS序时簿界面排序
  14. 网站开发之HTML基础知识及超链接(二)
  15. 白胡子不杀黑胡子的真正原因
  16. 概率论总结(四): 大数定律及中心极限定理
  17. Codeforces 1144G(dp)
  18. 互联网实习面试的一些心得(非计算机专业)
  19. 学习签名signature 的使用
  20. 宜信智能监控平台建设实践

热门文章

  1. ai如何置入_AI中如何导入图形图像?
  2. html label input同行,bootstrap中怎样让label和input在同一行
  3. 语法高亮_Qt官方示例语法高亮器
  4. c++调用python接口_PySpark源码解析,教你用Python调用高效Scala接口,搞定大规模数据分析...
  5. 基于fpga的dds函数信号发生器的设计_低频信号发生器
  6. [改善Java代码]使用CyclicBarrier让多线程齐步走
  7. 打log的方式检查程序里面的问题 及示例代码 详解
  8. 一路风景之川藏线徒步笔记
  9. 13、几点小结,unsigned long long
  10. “相约重渡沟 情定鸡冠洞”消夏养生欢乐行活动