[算法] 彩票生成算法求解!如何按规则生成这种数据?

图片说明:

竖着看图,图中有四列数据,每列用蓝条分割。

这四列分别是四个人要购买的的彩票。彩票号码是从 2~48 。红色的是金额。

图中每个人购买了 6 组彩票


要求:

  1. 买彩票的人数是可以设置的,比如设为 4 。
  2. 每个人购买多少组彩票也是可以设置的,最小设为 15 ,最大未知。
  3. 每个人每组彩票生成几个号码也是可以设置,是个范围值。比如设为 5~15 ,那每组彩票号码可能随机 5 个(1,5,13,39,44,49),也可能随机 13 个。
  4. 每个号码购买的金额是个数组,也是可以设置的,比如:2,5,10,15,20,25,30,35,40,45,50,55,60,70,80,90 ,只能从这个数组中随机金额。
  5. 每组彩票里面的金额是固定的,比如第一个人的第一组彩票,假设随机到 5 个号码,那这 5 个号码都要买固定金额,比如 200
  6. 以上都很简单,重点难点来了!用户会设置一个全盘总金额,比如 3000 。要求所有组内的单个号码相加等于 3000 。比如图中:4 个人 /每人 6 组彩票,那么拿出全部的号码 2 相加,等于 3000 。
  7. 而且要求每位购买者的资金平均分布,比如:第一个人的第一组内,号码 2 买了 1000 ,全盘总金额是 3000 ,那就剩下 2000 了,就造成了分布不均,都让他自己买了不行。
  8. 另外还要求每位购买者总投资相差不大
  9. 用户还会对每位购买者设置几个排除的号码,比如给第一个人排除 2,3,5 ,那么这个人购买的号码里面就不能出现 2,3,5

图片

发表回复

您的电子邮箱地址不会被公开。