Как рассчитать оценку публикации на основе репутации пользователя?

Я прочитал много тем о репутации, но ни одна из них не соответствует моим потребностям. Я внедряю сайт вопросов и ответов. За каждый пост (вопрос/ответ) можно проголосовать. У каждого пользователя есть показатель репутации. В зависимости от репутации пользователя голосование за каждый пост имеет больший вес. Однако я не хочу делать бесконечный if else, например

if (0 < user_reputation < 10) then post_vote += 1
if (10 < user_reputation < 20) then post_vote += 2
if (20 < user_reputation < 30) then post_vote += 3
if (30 < user_reputation < 40) then post_vote += 4
..........

Пожалуйста, предложите лучший способ (формулу или около того) для подсчета голосов за пост без использования вышеуказанного бесконечного if/else. Я использую Java.


person ipkiss    schedule 18.09.2013    source источник
comment
Если вы видите, что между 10 with 1 и 40 with 4 есть логическая связь :)   -  person Suresh Atta    schedule 18.09.2013
comment
как насчет 10? это 1 или 2?   -  person Philipp Sander    schedule 18.09.2013
comment
Я подозреваю, что по мере того, как пользователи приобретают больше репутации, вы обнаружите, что простое деление на 10 по-прежнему будет очень сильно (слишком сильно) благоприятствовать пользователям с высокой репутацией. В прошлом я обнаружил, что добавление чего-то Log2(user_reputation) не позволяет пользователям с высокой репутацией полностью доминировать.   -  person Jim Mischel    schedule 18.09.2013
comment
Спасибо, Джим Мишель, ваше решение и решение Павана — это именно то, что я искал.   -  person ipkiss    schedule 19.09.2013


Ответы (1)


используйте 1_

person gifpif    schedule 18.09.2013
comment
Да, вы получили мой комментарий :) +1. - person Suresh Atta; 18.09.2013