В этом задании вы будете определять, насколько спорным является голосование, учитывая множество других голосов, вычисляя число, называемое С-фактором. Вы спросите, что такое С-фактор?
Ну, представьте, у вас есть несколько голосов на выборах. Мы будем использовать 1
и 0
ради задачи представлять двух разных кандидатов на выборах. Вот десять голосов на наших выборочных выборах:
0110111011
Теперь, скажем, мы хотим найти C-фактор любого голоса за кандидата 0
. Мы можем сделать это с помощью следующей функции:
В , o
это голосование , мы хотим определить C-фактор для, и v
является массивом голосов. Итак, используя нашу функцию, чтобы получить C-фактор любого голоса за кандидата 0
:
Более низкий C-фактор показывает, что голосование было менее спорным по сравнению с другими голосами. Таким образом, голосование за кандидата 0
более отличается от других голосов, чем голосование за кандидата 1
. Для сравнения, C-фактор для 1
голосования кандидата равен , поэтому он менее спорный, потому что он больше похож на другие голоса.
Соревнование
Напишите функцию чтобы определить C-фактор голосования с учетом результатов голосования .o
v
o
должно быть целым числом, либо0
или1
.v
должен быть массивом (или похожим типом контейнера в зависимости от языковых спецификаций) произвольной длины, содержащим нули и единицы.Функция должна вернуть или вывести на консоль полученный C-фактор с учетом параметров функции, используя приведенную выше формулу или модифицированный метод.
Удачи! Побеждает наименьшее количество байтов (победитель выбирается через пять дней).
abs(0 - 0.7)
равняется 0.3
?
mean(v)
равно 0,7 в вашем примере?