Números no tan buenos

La población de un número positivo es la suma de los 1 en su representación binaria.

  • Un número evil tiene una población par.
  • Un número odious tiene una población impar.
  • Un número es pernicious si su población es un número primo.

Crea una función que reciba un número como argumento y devuelva un arreglo ordenado con todos sus descriptores ("Evil", "Odious" o "Pernicious").

Ejemplos

howBad(7) ➞ ["Odious", "Pernicious"]
// 7 in binary is "111".
// 1 + 1 + 1 = 3 in "111" means "Odious" should be added to the array answer.
// 3 is a prime number, meaning "Pernicious" should also be added.

howBad(17) ➞ ["Evil", "Pernicious"]
// 17 in binary is "10001".
// 1 + 1 = 2 in "10001" means "Evil" should be added to the array answer.
// 2 is a prime number, meaning "Pernicious" should also be added.

howBad(23) ➞ ["Evil"]
// 23 in binary is "10111".
// Four 1's in "10111" means "Evil" should be added to the array answer.
// 4 is not a prime number, meaning "Pernicious" should not be added.

Notas

N/A