从一个范围获得数字的最佳方法?

时间:2014-04-05 08:01:16

标签: math

这是一个更加以数学为导向的,但我想知道做以下事情的最佳方法;

min = 20;
max = 80;

给定1到x的数字,均匀线性分布这些数字的最佳方法是什么?

例如,当n=1值始终为min时,n=x时,值总是最大值,因此在这种情况下为80。

n=x/2值为35(最小值和最大值之间的中点)时

如果这是一个像double getNum(min, max, x, n)这样的函数,它返回min / max之间的数字值,那么最好的方法是什么呢?

1 个答案:

答案 0 :(得分:3)

导出以下公式非常简单:

double nth(double min, double max, int n, int x) {
    return min + (max-min) * ((double) n-1) / (x-1);
}