Javascript 如何获得固定平均值的可能结果?
我知道这个问题很难理解,但我需要一个javascript的数学公式Javascript 如何获得固定平均值的可能结果?,javascript,algorithm,math,dynamic-programming,Javascript,Algorithm,Math,Dynamic Programming,我知道这个问题很难理解,但我需要一个javascript的数学公式 I am having dynamic number from 0 to 7. 现在我有5张唱片: a = from 0 to 7, b = from 0 to 7, c = from 0 to 7, d = from 0 to 7, e = from 0 to 7 现在我需要一个方程,从中我可以找到a,b,c,d和e的可能输出,使平均值为5 Like for average = 5: 1. a = 5, b = 5, c
I am having dynamic number from 0 to 7.
现在我有5张唱片:
a = from 0 to 7,
b = from 0 to 7,
c = from 0 to 7,
d = from 0 to 7,
e = from 0 to 7
现在我需要一个方程,从中我可以找到a,b,c,d和e的可能输出,使平均值为5
Like for average = 5:
1. a = 5, b = 5, c = 5, d = 5, e = 5
2. a = 2, b = 7, c = 6, d = 5, e = 5
用户将输入所需的平均值,我需要抛出可能的输出以获得填充平均值。这似乎是一个与整数规划相关的问题。使用动态规划策略可以相对有效地解决该问题,该策略为较小的子问题保持不变,并将这些子问题合并到最终解决方案中。下面是一个高级算法,可以帮助您实现目标: 1) 从0到7之间的随机种子数x_1开始 2) 现在执行以下三次(i=2,3,4): 3) 找到尽可能少的下一个号码。要使五个数字的平均值为5,所有五个数字的目标总和为25。因此,你需要确保自己根本不否认自己达到25岁的能力。让min_i+1确定0..7的最小数,这样到目前为止所有x_i加上min_i+1*(5-i)>=25 示例:假设i=2,到目前为止,您的数字是4和5。那么最小允许的第三个数字minu 3是6。到目前为止,总和是9和5-i=3。9+3*6=27>=25和9+3*5=24<25。这意味着如果你选择5作为min_3,你将无法再达到25的目标 4) 选择x_i+1作为最小值i+1和7之间的随机数 5) 最后,选择x_5作为x_1..x_5的25和。输出x_1到x_5
整个算法的示例: 设x_1=6 =>最小值2=5,总和=6 设x_2=5 =>最小值3=5,总和=11 设x_3=7 =>最小值4=4,总和=18 设x_4=5 =>总和=23 =>x_5=2(=25-23) 输出:[6,5,7,5,2],其平均值为5 现在这个算法将产生非常有偏差的输出,如果你想让它看起来更随机,只需提供最终结果的排列,例如,在我们的示例中,你可以输出[5,7,2,5,6]
在Javascript中实现这一点应该没有问题,而且它可以很容易地进行调整,以适应x_i和总平均值的其他可能范围。如果最终样本量应为n,平均值为n,请确保将目标总和修改为n*avg。只有32768种可能的组合,因此您可以使用嵌套的loops@assylias:(这就是为什么我需要找到任何常见的数学函数。可能的