当前位置: 首页 > news >正文

无锡建设执业资格注册中心网站重庆网站建设哪家强

无锡建设执业资格注册中心网站,重庆网站建设哪家强,自助建站免费建站,个人网站制作程序红包算法 首先#xff0c;如果红包只有一个#xff0c;本轮直接使用全部金额#xff0c;确保红包发完。 然后#xff0c; 计算出本次红包最少要领取多少#xff0c;才能保证红包领完#xff0c;即本轮下水位#xff1b; 本轮最多领取多少#xff0c;才能保证每个人都…红包算法 首先如果红包只有一个本轮直接使用全部金额确保红包发完。 然后 计算出本次红包最少要领取多少才能保证红包领完即本轮下水位 本轮最多领取多少才能保证每个人都领到即本轮上水位。 主要方式如下 计算本次红包金额下水位假设本次领到最小值1分那接下来每次都领到200元红包能领完那下水位为1分如果不能领完那按接下来每次都领200元剩下的本轮应全部领走是本轮的下水位。 计算本轮红包上水位假设本轮领200元剩下的钱还足够接下来每轮领1分钱那本轮上水位为200元如果已经不够领那按接下来其他领1分计算本轮的上水位。 为了使红包金额不要太悬殊使用红包均值调整上水位。如果上水位金额大于两倍红包均值那么使用两倍红包均值作为上水位。换句话说每一轮抢到的红包金额最高为两倍剩下红包的均值。 最后获取随机数并用上水位取余如果结果比下水位还小则直接使用下水位否则使用随机金额为本轮拆到金额。 import java.math.BigDecimal; import java.math.RoundingMode; import java.util.Random;public class RandomRedPocket implements RedPocket {BigDecimal avgAmount;private BigDecimal totalAmount;private BigDecimal lowestAmount;private Integer remainNum;public RandomRedPocket(BigDecimal totalAmount, int num) {this.totalAmount totalAmount;this.remainNum num;this.avgAmount totalAmount.divide(new BigDecimal(num), 2, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(2));this.lowestAmount BigDecimal.valueOf(0.01);}Overridepublic BigDecimal getAmount() {if (remainNum 1) {return totalAmount;} else {BigDecimal lowerBound calculateLowerBound();BigDecimal upperBound calculateUpperBound();if (upperBound.compareTo(avgAmount) 0) {upperBound avgAmount;}remainNum remainNum - 1;BigDecimal randomAmount genRandomMoney(lowerBound, upperBound);totalAmount totalAmount.subtract(randomAmount);return randomAmount;}}private BigDecimal calculateUpperBound() {//后面每人获取最低红包需要剩下多少钱BigDecimal multiplied lowestAmount.multiply(BigDecimal.valueOf(remainNum - 1));BigDecimal upperBound totalAmount.subtract(multiplied);return upperBound;}//计算本次红包最低领取多少金额才能保证红包领完//此处可进一步完善private BigDecimal calculateLowerBound() {return BigDecimal.valueOf(0.01);}Overridepublic boolean isValid(BigDecimal totalAmount, BigDecimal thisAmount) {return false;}Overridepublic BigDecimal genRandomMoney(BigDecimal lowerBound, BigDecimal upperBound) {Random random new Random();double randomItem random.nextDouble();BigDecimal decimal upperBound.subtract(lowerBound).multiply(new BigDecimal(randomItem)).add(lowerBound);decimal decimal.setScale(2, RoundingMode.HALF_UP);return decimal;} }
http://www.w-s-a.com/news/520893/

相关文章:

  • 网站栏目设计怎么写平面设计接单报价表
  • 做网站美工要学什么网站推广的方法包括
  • 哪个网站可以做笔译兼职wordpress加表单
  • 百度站内搜索 wordpress微餐饮建站费用
  • 用什么做网站的访问量统计制作手工作品
  • 微信公众号搭建网站河南卫生基层系统网站建设
  • steam账号注册网站重庆手机版建站系统哪家好
  • 中新生态城建设局门户网站wordpress云盘视频播放
  • 大型网站开发基本流程wordpress记录用户搜索
  • 云服务器安装win系统做网站wordpress边栏扩大尺寸
  • 网站开发面试自我介绍软件下载网站如何建设
  • 可以做翻译任务的网站陕西省建设厅八大员证
  • 昆明 网站推广重庆网页优化seo公司
  • 网站排名下降怎么上去设计一套app页面多少钱
  • 专门用来查找网址的网站查公司名字是否被注册
  • 自己创建网站教程河南省建设厅官方网站李学军
  • 一个网站需要多少容量怎样免费设计网站建设
  • 建设工程交易中心网站12306的网站是哪个公司做的
  • 建设网站经营范围自己给公司做网站
  • 河北省住房建设厅政务网站网络营销推广的岗位职责有哪些
  • 上海网站建设优化价格孝义做网站的公司
  • 哪个公司网站做的最好义乌 网站 制作
  • 百度站长工具综合查询wordpress 上传pdf
  • 旅游短租公寓网站建设深圳龙岗招聘网
  • 做海淘是在哪个网站网络查控系统设计方案
  • o2o网站建设代理商微信公众号开发文档
  • 网站设计课程总结关于网站备案的公告
  • 网站建设与运营意义到哪查找网站域名
  • 网站及单位网站建设情况眉县住房和城市建设局网站
  • 网站是否能够被恶意镜像wordpress占用