Javascript 有更好的解决办法吗?
我相信应该有更具创造性的方法来解决这个问题。。。有人感兴趣吗 Q:给定以下代码,确定“a”的可能值范围: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
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