2012-05-28 22 views
0

我有一個公式來生成一個分數,例如score = UnixTimeOfNow(),但是我想得到(1,n)範圍內的最終分數,比如(1,100) 。所以我怎樣才能將分數映射到特定的範圍?如何生成一個範圍的數字

+0

對* how *分數應該映射到該範圍有什麼限制嗎? (我認爲總是返回1不會被接受:) – aioobe

回答

3

要在範圍(1, n)包容映射score到一個值,你可以做

score = 1 + (score % n); 

(這是Java和C/C++的語法。)

%是模運算符它說,例如205 % 1005

+0

但是如果score1 = 106,score2 = 300,在你的地圖之後,score1是7> score2 = 1 – remy

+0

Aha。你可能只是在score =(score/topScore)* n之後 – aioobe

相關問題