【发布时间】:2018-12-03 18:13:23
【问题描述】:
我正在开发一个 android 图形应用程序,在代码中的某个位置,我需要将一个矩形的宽度分成 5 个随机大小。
我的活动中有我的 randomintegerfunction(int min, int max),但这可以帮助我将它分成两部分。
如何将一个整数(比如说 100)分成 5 个随机部分,这样前一个或两个部分并不总是最大的,然后再细分为第三、第四和第五部分?
现在,我知道我可以尝试使用我的随机整数生成器来实现它,但问题是我认为我必须使用一些强制除法,例如将整数的前 70% 分成 2部分,然后将剩余的 20% 分成两部分,总共 5 个部分,但是这样的方法总是会使第一部分大于第五部分,我想避免这种情况......真正随机的。
例如,我想要什么...
第一部分可能是 7, 第二部分 25, 第三部分 5, 第四部分 40, 第五/最后/剩余部分 23. 加到 100(或任何整数)。
我不确定如何编写这样一个函数的逻辑......所以如果您对如何实现一个将整数随机分成 3 或 4 或 5 或 6 个真正随机大小的函数有任何想法/部分,请赐教!
感谢您的宝贵时间!
【问题讨论】:
-
我没有得到
so that the first one or two parts arent always the biggest的部分。你不能把那个数字分成几部分后随机改变顺序吗? -
我会使用 Random 来获得 1-99 范围内的 4 个不同的数字,并将它们用作整个整数的“切点”。
e.g. suppose i got (2,25,40,90)- the widths would be (100-90, 90-40, 40-25, 25-2, 2-0)