当前位置:  开发笔记 > 编程语言 > 正文

生成随机数,不包括范围

如何解决《生成随机数,不包括范围》经验,为你挑选了1个好方法。

如何在排除某些范围的同时生成范围内的随机数.例如.范围1-10但不是2-4或7.我到目前为止使用的解决方案:

如果它在不允许的范围内,则生成随机测试.根据结果​​输出数字或重试.

将范围映射到统一范围.获得1到6之间的随机值然后映射回来(即6变为10).

创建允许的范围(1-1,5-6,8-10).随机选择一个范围(可选择使用权重)和所选范围内的数字.

你的解决方案是什么?



1> Jason Cohen..:

(b)使用单一范围并映射到允许的值.

(a)较慢且运行时间不确定,因为您必须等到获得正确范围内的数字.如果你要跳过很大的范围,你就会受到冲击.

(c)比(b)更复杂; 如果不需要,不要增加复杂性.

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有