2012-05-28 21 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

相关问题