Un número de Munchausen en la base , también conocido como un invariante perfecto de dígito a dígito o PDDI es un tipo peculiar de número entero positivo donde la suma de sus dígitos de base elevados para sí mismos es igual al número mismo. Se llaman así por el ficticio barón Munchausen , que aparentemente se alzó a través de su propia cola de caballo para evitar ahogarse. Un concepto relacionado son los números narcisistas .
Por ejemplo, es trivialmente un número Munchausen en cada base porque . Además, cada entero positivo es un número Munchausen base-1 por definición.
Más interesante aún, es un número Munchausen de base 10 porque , y de hecho es el único otro número Munchausen de base 10 .
Se puede encontrar una lista parcial de números Munchausen en cada base hasta 35 en el OEIS como secuencia A166623 .
Dado un número entero positivo , determine si es un número Munchausen en cualquier base .
Reglas
- Se aplican las reglas predeterminadas de E / S, por lo tanto:
- El programa completo o las funciones son aceptables.
- La entrada puede ser de STDIN, como un argumento de función, y la salida puede ser de STDOUT, como un valor de retorno de función, etc.
- Se aplican las lagunas predeterminadas.
- El resultado debe ser uno de dos resultados distintos y consistentes. Entonces
TRUEestá bien para la verdad yFALSEestá bien para la falsedad, pero puedes revertir eso o regresarNonepor la verdad y1por la falsedad o lo que sea. Por favor, especifique los resultados seleccionados en su respuesta. - Su respuesta tiene que funcionar al menos teóricamente para cualquier número entero positivo.
- Los números de Munchausen usan la convención , entonces es un número de Munchausen base-2 como . Su código debe seguir esta convención.
- Se recomiendan encarecidamente las explicaciones, aunque las presentaciones probablemente utilizarán el método de búsqueda de fuerza bruta.
- Usar lenguajes esotéricos te da puntos de brownie ya que Munchausen era aparentemente una persona extraña.
Casos de prueba
Truthy
1 (all bases)
2 (base 2)
5 (base 3)
28 (base 9 and base 25)
29 (base 4)
55 (base 4)
3435 (base 10)
923362 (base 9)
260 (base 128)
257 (base 64 and base 253)
Falsy
3
4
591912
3163
17
Este es el código de golf , por lo que gana la respuesta más corta en cada idioma (en bytes).
determine if it's a Munchausen number in any base b≥2.