Nesse desafio, você determinará o quão controverso é um voto, considerando uma série de outros votos, calculando um número chamado fator C. Qual é o fator C, você pergunta?
Bem, imagine que você tenha vários votos em uma eleição. Usaremos 1
e, 0
para o bem do desafio, representar dois candidatos diferentes em uma eleição. Aqui estão os dez votos em nossa amostra de eleição:
0110111011
Agora, digamos que queremos encontrar o fator C de qualquer voto para candidato 0
. Podemos fazer isso com a seguinte função:
Em , é a votação para a qual queremos determinar o fator C e é uma matriz de votos. Portanto, usando nossa função, para obter o fator C de qualquer voto para candidato :o
v
0
Um fator C mais baixo mostra que a votação foi menos controversa em comparação com os outros votos. Portanto, um voto para candidato 0
é mais diferente dos outros votos que um voto para candidato 1
. Em comparação, o fator C para uma 1
votação de candidato é , portanto é menos controverso porque é mais parecido com os outros votos.
O desafio
Escreva uma função para determinar o fator C de uma votação, dados os resultados de uma votação .o
v
o
deve ser um número inteiro,0
ou1
.v
deve ser uma matriz (ou tipo de contêiner semelhante, dependendo das especificações de idioma) de comprimento arbitrário contendo zeros e uns.A função deve retornar ou imprimir no console o fator C resultante, dados os parâmetros da função, usando a fórmula acima ou um método modificado.
Boa sorte! O mínimo de bytes ganha (vencedor escolhido em cinco dias).
abs(0 - 0.7)
igual a 0.3
?
mean(v)
igual a 0,7 no seu exemplo?