gpt4 book ai didi

java - Java中整数值的随机 "splitting up"

转载 作者:行者123 更新时间:2023-11-30 11:38:09 26 4
gpt4 key购买 nike

有趣的问题,希望有人知道如何在 Java 中执行此操作。我有一个固定的整数值 x,我想用整数 x1、x2、...、xn 的总和来表示使得以下内容成立:

x = x1 + x2 + ... + xn;

例如,假设 n=3 且 x=10

10 = 5 + 3 + 2;

问题是,x1,x2, ... xn 份应该均匀分布,每次我想将值 x“拆分”成不同的份额时,它们应该是不同的。

有人知道如何做吗?

谢谢,帕特里克

最佳答案

这是有效的,想法是采用最大上限 x - (n -i) 的随机数,即第一个元素必须上限为 8,以避免下一个数字变为零。我假设需要总和为 x 的正数。

Random random = new Random(System.currentTimeMillis());        
for (int i = 0; i < n -1; i++) {
int j = random.nextInt(x - (n -i)) + 1;
System.out.println(j);
x -= j;
}
System.out.println(x);

关于java - Java中整数值的随机 "splitting up",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13720356/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com