NCF参数化建筑论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 82799|回复: 1
打印 上一主题 下一主题

[悬赏中] 如何在一个区间内随机取三个数,并保证他们的差的最小值大于一个数

[复制链接]
跳转到指定楼层
1m
发表于 2020-8-24 22:56:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
20照度

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享
2m
发表于 2021-5-1 14:21:41 | 只看该作者
1.现在的随机实际上是假随机。
2.先设定一个区间如1-20;从中选择1个随机数,设定好随机种子;
3.把这个数+和-那个差值,形成大小2个数;大数与20形成新区间,从这个区间选出1个数;同样,在小数与1的区间也随机选择1个数;
4.这样把这3个数组合在一起,就是随机选择的3个数,且任意两个差,都大于那个差值。
5.通过调整三次选择随机数的随机种子,可以有不同的组合;
原理是利用中间随机值(3个数里一定会有中间值),按照差值间距,划分区间,各自在各自区间抓取随机值,保证差值条件能满足。由于中间值是随机的,每次选择也是随机的,相当于一次性获得了3个值,当然还可以局部调整。

小黑屋|手机版|NCF参数化建筑论坛 ( 浙ICP备2020044100号-2 )    辽公网安备21021102000973号

GMT+8, 2024-4-20 16:49 , Processed in 0.284772 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表