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 1e, 0para 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 :ov0
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 1votaçã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 .ov
odeve ser um número inteiro,0ou1.vdeve 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?