2011-05-09 104 views
3

老實說,我不能想到要搜索什麼,但我試過的東西沒有得到任何結果,所以我很抱歉,如果它已被問到。減少數字的公式

這不僅僅是一個數學問題,而是一個編程問題,但我正在用JavaScript來完成它,它似乎很合適。

我想要做的是減少數字越高。例如,10可能會減少到9,而100可能會減少到20.我嘗試過使用數字本身和分割,但顯然這只是返回一個固定的數字。我也嘗試過簡單的劃分,但是所有這一切都減少了過多的數字,並且對比較高的數字影響不大。有沒有公​​式可以使用JavaScript的Math對象來做到這一點?

+1

目前還不清楚你想從你的問題措辭中做什麼。你只是想減少給定的數量一些隨機數量? 'x = x - (x-1);' – mVChr 2011-05-09 04:33:56

回答

4

從你給了兩個例子,你可能會尋找一個decilog規模:

function reduce(x) { 
    return 10 * Math.log(x)/Math.LN10 ; 
} 

對於你的例子,

reduce(100) = 20 
reduce(10) = 10 
+0

完美!感謝您的快速響應。現在我擁有了一些新的東西。乾杯! – Ruffy 2011-05-09 04:37:58

+0

請注意,這會增加任何數字<10。 – mVChr 2011-05-09 04:42:34

1

一些數學函數,可以是一些援助,是

  1. 平方根(或一般的任何根)
  2. 日誌功能(對於可滿足您的擴展需求的基礎)

將這些結果或輸入乘以常數和/或將值添加到結果或輸入中,然後將將能夠拿出相當數量的縮放選擇。

你甚至可以考慮結合這些功能。

一個快速的方式來看看你決定的功能將如何縮放數字,將是在圖形計算器(或wolframalpha.com)輸入它們,並看到圖形的各種輸入。

1

最後,良好的用例Wolfram Alpha的:

http://www.wolframalpha.com/input/?i=best+fit+[10%2C+9]%2C+[100%2C+ 20]