500000元分给1000000个人,每个人分0.18到88元,正好分完。请问如何使用算法实现?
随机生成就可以了啊,生成后校验一下余额减去随机数后还够不够分剩余的红包数,不够就重新生成一个小点的数。
先为每个人生成一个随机数,范围是18-8800.
将所有随机数加起来算出每个人占的比例.
用比例乘以总数算出每个人应得钱,有余数就随便找个人加上去
确实是一个比较有意思的问题。先计算出红包的平均值,然后随机从某些红包中抽取随机的金额,分配中另外的某些红包中。
先从平均值出发,然后进行分配,分配时每一个红包金额在范围内就行。