一个简单的红包分配实现
【一个简单的红包分配实现】一个简单的红包实现,随机生成一些符合正态分布
的红包。
fun getRandomMoney(size: Int, totalMoney: Double): List {
var redPacketSize = size
var redPacketTotalMoney = totalMoney
val numList = ArrayList()
while (redPacketSize > 0) {
if (redPacketSize == 1) {
numList.add(Math.round(redPacketTotalMoney * 100).toDouble() / 100)
break
}
val min = 0.01
val max = redPacketTotalMoney / redPacketSize * 2var normalR = -1.0
while (normalR < 0 || normalR > 1)
normalR = Math.sqrt(0.01) * r.nextGaussian() + 0.5
var money = normalR * max
money = if (money <= min) min else money
money = Math.floor(money * 100) / 100
redPacketSize--
redPacketTotalMoney -= money
numList.add(money)
}
return numList
}
推荐阅读
- 热闹中的孤独
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 一个人的旅行,三亚
- 布丽吉特,人生绝对的赢家
- 慢慢的美丽
- 尽力
- 一个小故事,我的思考。
- 家乡的那条小河
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量