Números vampiro
Un número vampiro es un entero positivo mayor que 99 que, al reordenar sus dígitos en todas las permutaciones posibles y dividir cada permutación en dos partes, es igual al producto de las partes de al menos una de esas permutaciones.
- Si el número tiene una cantidad par de dígitos, las partes izquierda y derecha tendrán la misma longitud en cada permutación;
- Si el número tiene una cantidad impar de dígitos y al menos tres dígitos, las partes izquierda y derecha tendrán longitudes diferentes en cada permutación posible, alternando entre ellas en el rango de +1 y -1.
Dado un entero positivo n, implementa una función que devuelva el tipo de n como una cadena:
'Normal Number'sines menor que 100 o si ninguna permutación produce un producto de sus partes igual an.'Pseudovampire'sines un número vampiro con una cantidad impar de dígitos.'True Vampire'sines un número vampiro con una cantidad par de dígitos.
Ejemplos
is_vampire(1260) ➞ "True Vampire"
# Has an even number of digits and is greater than 99)
# Permutations:
# 12 * 60 = 720
# 16 * 20 = 320
# 10 * 26 = 260
# 21 * 60 = 1260
is_vampire(126) ➞ "Pseudovampire"
# Has an odd number of digits and is greater than 99
# Permutations:
# 12 * 6 = 72
# 1 * 26 = 26
# 21 * 6 = 126
is_vampire(67) ➞ "Normal Number"
# Is lower than 100
# Permutations:
# 6 * 7 = 7 * 6 = 42Notas
Por definición, un número del 1 al 99 es un Normal Number: un número de un solo dígito no se puede dividir en dos partes, y el producto de los dos dígitos permutados de un número siempre será menor que el propio número.