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

前端之家收集整理的这篇文章主要介绍了如何在PHP中创建指定数量的所有等于指定数字的随机值?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
例如,我输入“10”作为数值,“10000”作为总金额.

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

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

我该怎么做呢?

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

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

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

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

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

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

因此,算法是:

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

你完成了.

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

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

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

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

猜你在找的PHP相关文章