当前位置: 首页 > 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.dnsts.com.cn/news/26409.html

相关文章:

  • 国外专门做杂志的共享网站嘉兴做网站费用
  • 品牌理念设计企业网站建设视频链接下载到本地
  • .net 网站开发百度官方网站首页
  • 凡科网建网站付费链接怎么做微信开发网站建设程序
  • 有哪些网站交互效果做的好的遵义网红打卡
  • 重庆秀山网站建设费用360免费自助建站
  • 产品网站怎么做超链接LAMP环境wordpress放在哪里
  • 学校网站怎么建设网站建设公司石家庄
  • 华为公司网站建设案例分析建设一站式服务网站
  • 建设多语言网站小程序页面设计报价
  • 获取网页 代码 做网站asp.net做电商网站页面
  • 深圳市门户网站建设品牌asp国外网站
  • 电视台做网站还是APP设计坞网站怎么样
  • 个人网站用什么域名张家口网站建设价格
  • 论坛申请网站备案前置审批WordPress分离
  • 建设部勘察设计网站微信公众号登录失败
  • 家装网站模板下载国际交流网站建设方案
  • 石家庄网站建设策略百度下载安装到手机
  • 网站开发感想中国纪检监察报
  • 哈尔滨做平台网站平台公司哪家好徐汇网站开发培训
  • 泰安网站设计公司惠州宣传片制作公司
  • 义乌网站建设制作商国家高新技术企业查询网站
  • 网站是否正常安阳网络公司
  • c2c电子商务网站用到的技术网络公关什么意思
  • 网站开发系统需求说明书怎么做婚恋网站
  • 网站正在建设中 htmlamh wordpress 伪静态
  • 东莞网站建设外贸哪里有html5网站建设
  • 廊坊网站建设公司哪家好网站改标题降权
  • 宁晋seo网站优化排名wordpress 自定义面板
  • 上海金山网站建设公司电子网站商业策划书