概述
随机函数rand()大家都比较熟悉,可是否可以用这个函数解决实际中的问题,还是需要好好思考一下。
比如下图这种情况 ,如果将一列的姓名随机排列。
如果大家都要求公开公平,那这种方法帮你的大忙了。
第一步:建辅助列,这是关键的一步,大家可以仔细看一下公式,除了B2单元格是一个随机函数,后面的都是生成的不重复随机数。
第二步:如果不重复设计随机数都搞定了,后面的事情就简单多了,只需要按顺序引用姓名就行了。
如果说这种单列的情况容易解决,那把这些姓名做成多行多例的随机排序呢?很常用的就是座位公开公正的随机排列。
看下图这种情况:多行多列随机排序
当我们每刷新一次,这些名字会随机变化,这就达到了座位公开公正的安排,谁也别想占便宜。
看看怎么设计。
第一步:建立相同大小的随机数。
建立这一组随机数的目的是让这些名字有一个大小之分,因为rand函数产生重复的机率几乎为零,所以对应的位置肯定有一个先后。
第二步,把这些随机数的排名先后计算出来。
如果我们知道随机排名的顺序,那再用函数引用出对应的名字,是不是就比较简单了。
第三步,引用出对应的排名位置。
有时候,做到公正公平,让大家心服口服,就是这么简单。
最后
以上就是冷静斑马为你收集整理的rand函数怎么避免重复_用随机数来做到公平公正的全部内容,希望文章能够帮你解决rand函数怎么避免重复_用随机数来做到公平公正所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复