首页 新闻 会员 周边

每个人带一份礼物进行抽奖,不能抽到自己的,请设计一个抽奖算法。 有什么好的算法吗?

0
悬赏园豆:30 [已解决问题] 解决于 2019-11-14 12:48

每个人带一份礼物进行抽奖,不能抽到自己的,请设计一个抽奖算法。
有什么好的算法吗?

软测小生的主页 软测小生 | 初学一级 | 园豆:175
提问于:2019-05-05 13:52
< >
分享
最佳答案
0

排除自己的列表,随机抽取一个元素进行 交换;
如果是单数剩余3个的时候 你想成一个圈,随机顺时针或者逆时针交换。

收获园豆:30
花飘水流兮 | 专家六级 |园豆:13560 | 2019-05-05 20:35
其他回答(3)
0

随机就好了,不用搞那么复杂,抽到自己在重抽

jqw2009 | 园豆:2439 (老鸟四级) | 2019-05-05 15:20
0

这样是所有人都要抽完吗?
那我提供一个思路,当要抽一个奖品给 A同学时,把A 同学的礼品排除,在剩下的里面抽一个。下面以此类推。
你需要考虑的是有为有抽不掉的?最后一个只有A同学的一个礼品了。那只剩两个的时候有一个是A的,有一个不是。抽A同学前一个同学的时候就一定要把A同学的抽走才好。 边界的地方处理一下。

gw2010 | 园豆:1487 (小虾三级) | 2019-05-05 16:40
0

先过滤自己然后在随机抽取

OneLdd | 园豆:204 (菜鸟二级) | 2019-05-05 17:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册