减少较大数字的公式

Ruf*_*ffy 3 javascript math

老实说,我不知道要搜索什么,但我尝试过的方法没有产生任何结果,所以如果已经有人问过,我深表歉意。

这也更像是一个数学问题,而不是一个编程问题,但我是用 JavaScript 做的,它看起来足够合适。

我想做的是数字越高,减少的越多。例如,10 可能会减少到 9 之类,100 可能会减少到 20 之类。我尝试过使用数字本身和除法,但显然这只是返回一个固定数字。我也尝试过简单的除法,但所有它都减少了较低的数字太多,并且相比之下对较高的数字几乎没有影响。是否有任何公式可以使用 JavaScript 的 Math 对象来执行此操作?

Gre*_*ill 5

从您给出的两个示例中,您可能正在寻找十对数刻度:

function reduce(x) {
    return 10 * Math.log(x) / Math.LN10 ;
}
Run Code Online (Sandbox Code Playgroud)

对于你的例子,

reduce(100) = 20
reduce(10)  = 10
Run Code Online (Sandbox Code Playgroud)