这是一个更加以数学为导向的,但我想知道做以下事情的最佳方法;
min = 20;
max = 80;
给定1到x的数字,均匀线性分布这些数字的最佳方法是什么?
例如,当n=1
值始终为min时,n=x
时,值总是最大值,因此在这种情况下为80。
当n=x/2
值为35(最小值和最大值之间的中点)时
如果这是一个像double getNum(min, max, x, n)
这样的函数,它返回min / max之间的数字值,那么最好的方法是什么呢?
答案 0 :(得分:3)
导出以下公式非常简单:
double nth(double min, double max, int n, int x) {
return min + (max-min) * ((double) n-1) / (x-1);
}