加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

如何在PHP中创建指定数量的所有等于指定数字的随机值?

发布时间:2020-12-13 14:14:36 所属栏目:PHP教程 来源:网络整理
导读:例如,我输入“10”作为数值,“10000”作为总金额. 该脚本需要随机分配10个不等于10000的数字.没有更多的,不可少的. 但它也需要动态.如同有时候,有时候,我可能会将“5”或“6”甚至“99”作为数值,以及任何数字(高达十亿甚至更高)作为总数. 我该怎么做呢? 编
例如,我输入“10”作为数值,“10000”作为总金额.

该脚本需要随机分配10个不等于10000的数字.没有更多的,不可少的.

但它也需要动态.如同有时候,有时候,我可能会将“5”或“6”甚至“99”作为数值,以及任何数字(高达十亿甚至更高)作为总数.

我该怎么做呢?

编辑:我也应该提到所有的数字都需要一个正整数

这里的正确答案是令人难以置信的简单.

想像一条白线,我们说1000单位长.

您想要将线划分为十个部分,使用红色标记.

非常简单,选择九个随机数,并在每一个点上放上一个红色的油漆标记.

这只是那么简单.你完成了!

因此,算法是:

(1)选择0到1000之间的9个随机数
(2)将九个数字,一个零和一个1000,放在一个数组中
(3)排序数组
(4)使用减法得到数组值之间的十个“距离”

你完成了.

(显然,如果你想在你的最终集合中没有零,那么在第(1)部分中,如果碰撞发生,只需重新选一个随机数.)

理想地作为程序员,我们可以“看到”这样的视觉算法,我们的头脑 – 试图视觉上看我们做什么!

脚注 – 对于任何非程序员阅读这个,只是为了清楚,请注意,这就像“学习计算机科学时学习的第一件事!”即我没有得到任何信用,我刚刚输入了答案,因为我偶然发现页面.没有任何礼物给我!

只是为了记录另一种常见的方法(取决于预期的结果,无论你是处理真实或全数,还有其他约束)也是非常“啊哈!优雅.你所做的就是这样:得到10个随机数字.添加它们显而易见,只是:将它们全部乘以一些数字,以便总计是所需的总数!这很容易!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读