EDITAR: en aras de aumentar la complejidad, he agregado más al desafío.
En matemáticas, un número de vampiro (o número de vampiro verdadero) es un número natural compuesto v, con un número par de dígitos n, que puede factorizarse en dos enteros x e y cada uno con n / 2 dígitos y no ambos con ceros al final, donde v contiene precisamente todos los dígitos de xy de y, en cualquier orden, contando la multiplicidad. x e y se llaman colmillos.
Más sobre Número de vampiro
Números de pseudovampiros
Los números de pseudovampiros son similares a los números de vampiros, excepto que los colmillos de un número de pseudovampiros de n dígitos no necesitan tener una longitud de n / 2 dígitos. Los números de pseudovampiros pueden tener un número impar de dígitos, por ejemplo 126 = 6 × 21.
Entrada
Aceptar números de la línea de comando o stdin
Salida
- "1260 = 21 * 60" (colmillo más pequeño primero si el número es un vampiro).
- "1261 no es un número de vampiro". (si el número no es un número de vampiro)
- "126 = 6 * 21". (si el número es un número de pseudovampiro)
EDITAR: si el número tiene múltiples colmillos, muéstrelo así.
x = fang1a * fang1b = fang2a * fang2b
fang1a
aparece antesfang2a
cuandofang1a < fang2a
Respuestas:
Python - 188 caracteres
No hace números de pseudovampiros
fuente
=
.Ruby, 190 caracteres
fuente