Javascript 有更好的解决办法吗?

Javascript 有更好的解决办法吗?,javascript,algorithm,mathematical-optimization,Javascript,Algorithm,Mathematical Optimization,我相信应该有更具创造性的方法来解决这个问题。。。有人感兴趣吗 Q:给定以下代码,确定“a”的可能值范围: x = random_int(1,6) y = random_int(1,6) z = random_int(1,6) a = x + y + z 我的答覆是: var x,y,z,a; var范围=[]; 对于(变量i=0;i

我相信应该有更具创造性的方法来解决这个问题。。。有人感兴趣吗

Q:给定以下代码,确定“a”的可能值范围:

  x = random_int(1,6)

  y = random_int(1,6)

  z = random_int(1,6)

  a = x + y + z
我的答覆是:

var x,y,z,a;
var范围=[];
对于(变量i=0;i<1000;i++){
x=数学地板(数学随机()*6)+1;
y=Math.floor(Math.random()*6)+1;
z=数学地板(数学随机()*6)+1;
a=x+y+z;
射程.推(a);
}
var min=Math.min.apply(null,范围),
max=Math.max.apply(null,范围);

document.write(“范围在“+min+”和“+max”之间)以下是所有代码:

document.write("The range is between 3 and 18");
因为最小值是当所有随机数都是1时,所以它应该是

x = min(random_int(1,6)) = 1
y = min(random_int(1,6)) = 1
z = min(random_int(1,6)) = 1
所以

最大值如下所示:

x = max(random_int(1,6)) = 6
y = max(random_int(1,6)) = 6
z = max(random_int(1,6)) = 6
所以


我看不出最小值与3有什么不同。你到底想做什么。psuedo代码在哪里?我在寻找一个算法来解决它。显然我知道答案!解决什么问题。据我所知,最小值为3*1,最大值为3*6,但如果你做的次数足够多,你可能会得到少于18次。给定代码意味着范围是给定的。结果的范围就是(最小值之和)…最大值之和(范围)。你想问什么?
x = max(random_int(1,6)) = 6
y = max(random_int(1,6)) = 6
z = max(random_int(1,6)) = 6
a = 6 + 6 + 6 = 18