我怎样才能用c#进行平均反转?
我需要创建一个函数,如果我输入一个数字,返回3个数字,即你的平均范围与我传递的数字相同 比如说我怎样才能用c#进行平均反转?,c#,function,average,inverse,C#,Function,Average,Inverse,我需要创建一个函数,如果我输入一个数字,返回3个数字,即你的平均范围与我传递的数字相同 比如说 如果我输入数字3,92,返回值是数字3,89 3,57 4,3的列表(随机化)这里有一个方法可以做到这一点 public double[] AverageReverse(double targetAverage, double range) { var r = new Random(); // TODO: Cache it between calls to avoid "why does ny
如果我输入数字3,92,返回值是数字3,89 3,57 4,3的列表(随机化)这里有一个方法可以做到这一点
public double[] AverageReverse(double targetAverage, double range)
{
var r = new Random(); // TODO: Cache it between calls to avoid "why does ny Random class only produce the same numbers?"
var n1 = targetAverage - r.NextDouble() * range;
var n2 = targetAverage + r.NextDouble() * range;
var n3 = 3 * targetAverage - (n1 + n2);
return new[] { n1, n2, n3 };
}
例如:
var ar = AverageReverse(3.92, 0.5);
// returns (example):
// 3,76575929136284
// 3,98495292557634
// 4,00928778306082
// average:
// 3.92
其工作原理是通过求解以下方程:
average = (n1 + n2 + n3) / 3
对于n3,给出了:
average = (n1 + n2 + n3) / 3
3 * average = n1 + n2 + n3
3 * average - (n1 + n2) = n3
因此:
你的问题没有任何意义。没有意义?在
x
input上,返回新的双精度[]{x,x,x}
你自己尝试过吗?
n3 = 3 * average - (n1 + n2)