Этот вопрос больше связан с логикой, чем с любым языком программирования. Если вопрос не подходит для форума, пожалуйста, дайте мне знать, и я удалю это.
Я должен написать логику для подсчета баллов для блогов на сайте Blog Award. Блог может быть номинирован на несколько категорий наград и рецензируется или оценивается жюри по шкале от -1 до 5 (-1 означает, что блог им совершенно не нравится). Теперь блог может быть оценен одним или несколькими присяжными. Один из критериев при расчете окончательной оценки блога заключается в том, что если блог оценивается положительно большим количеством людей, он должен получить больший вес (и наоборот). Точно так же у блога с рейтингом -1, даже у одного присяжного, должна быть затронута его оценка (-1 здесь - своего рода вето). Наконец, я также хочу получить дополнительный балл, основанный на рейтинге Technorati блога (чтобы итоговый балл основывался на сочетании рейтинга Juror + рейтинга Technorati).
Пример: блог оценен в категории А всего 6 присяжными. 2 - 3, 3 - 2, 1 - 4. (Я использовал для вычисления балла: (2 * 3 + 3 * 2 + 1 * 4) / 6 = 16/6 = 2,67 для взвешивания в среднем, но меня это не устраивает, в первую очередь потому, что он плохо работает, когда рейтинг присяжного заседателя равен -1. Кроме того, мне нужно добавить критерии ранжирования рейтинга Technorati).
Не могли бы вы помочь мне выбрать лучший способ подсчета итоговых баллов (оставив метод оценки таким же, как и выше, который нельзя изменить сейчас)?