Java一个简单的红包生成算法
作者:希尔伯特 发布时间:2023-12-12 10:56:50
标签:java,随机,算法
一个简单的红包生成算法,代码如下:
/**
* 红包
* @param n
* @param money 单位:分
* @return
**/
public static double[] redPacket(int n, double money) {
// 红包结果
double[] result = new double[n];
// 随机数
double[] randNum = new double[n];
// 随机总数
double randSum = 0;
// 保证每个人都分到一分钱,扣除后分配
double redSum = money - n;
// 先随机,生成指定个数的随机数
for (int i = 0; i < randNum.length; i++) {
randNum[i] = Math.random() * redSum;
randSum += randNum[i];
}
// 重新分配
double left = redSum;
// 设置随机红包结果
for (int i = 0; i < result.length-1; i++) {
// 取整
result[i] = Math.round(randNum[i] / randSum * redSum);
left -= result[i];
// 每人至少一分钱
result[i] = (result[i] + 1) * 1.0 / 100;
}
// 设置最后一个红包
result[n-1] = (left + 1) * 1.0 / 100;
return result;
}
算法很简单,仅供参考,有考虑不到之处,欢迎指正!
来源:https://blog.csdn.net/weixin_35971547/article/details/85628055
0
投稿
猜你喜欢
- 0x01 新建SpringBoot项目1. 新建maven工程ps:在上一教程的基础上操作,就不用新建项目了,请参考文章:SpringBoo
- 文件的上传及下载功能是开发人员在日常应用及编程开发中经常会遇到的。正好最近开发需要用到此功能,虽然本人是 Android 开发人员,但还是业
- 此次简单的操作将数据从数据库导出生成excel报表以及将excel数据导入数据库首先建立数据库的连接池:package jdbc;impor
- 本文实例为大家分享了java实现简单的猜数字的具体代码,供大家参考,具体内容如下题目描述:猜数字(又称 Bulls and Cows )是一
- 这一篇文章涵盖了将 Shiro 集成到基于 Spring 的应用程序的方法。Shiro 的 Java Bean兼容性使它非常适合通过 Spr
- 一、reservedcodecachesize参数介绍该参数是JvM虚拟机调优中调整内存大小的一个设置参数,值得大小设置直接影响到Code
- shiro是一个权限框架,具体的使用可以查看其官网 http://shiro.apache.org/ 它提供了很方便的权限认证和
- 具体步骤:1.创建一个maven项目 spring-day1-constructor2.导入依赖 <prop
- ArrayList和LinkedList都实现了List接口,有以下的不同点:1、ArrayList是基于索引的数据接口,它的底层是数组。它
- 之前文章中我们讲到,java中实现同步的方式是使用synchronized block。在java 5中,Locks被引入了,来提供更加灵活
- mapper文件使用in("str1","str2")mybatis的xxxMapper.xml文件
- 安装Java:安装J2SE开发工具包5.0(JDK 5.0)下载:Java官方网站。请确保以下环境变量设置,如下所述:JAVA_HOME:
- 本文实例讲述了Java设计模式之 * 模式。分享给大家供大家参考,具体如下:前面介绍了静态代理模式, * 比静态代理模式更加强大。它能在
- 一、注解是什么Java 注解用于为 Java 代码提供元数据,看完这句话也许你还是一脸懵逼,用人话说就是注解不直接影响你的代码执行,仅提供信
- WebMvcConfigurer配置类其实是Spring内部的一种配置方式,采用JavaBean的形式来代替传统的xml配置文件形式进行针对
- 在 Java 语言中,运算符有算数运算符、关系运算符、逻辑运算符、赋值运算符、字符串连接运算符、条件运算符。算数运算符算数运算符是我们最常用
- 前言《摩尔庄园》前段时间上线, 持续超出市场预期,相信也有不错的收益。游戏好玩,所有玩家看到了前端,但是做一款游戏,离不开后台游戏服务器的支
- 本文向您展示了在 Flutter 中实现完美的验证码输入框几种不同方法。重点是什么?真实世界的 完美的验证码输入框或 PIN 输入 UI 通
- 大致思路:注解实现方式:就是用 反射机制. 获取指定的包下使用了注解的类,存储在一个map容器, 然后获取map容器下类的属性, 利用反射给
- 一、logback日志技术介绍Spring Boot中使用的日志技术为logback。其与Log4J都出自同一人,性能要优于Log4J,是L