En teoría de números , un número de Dudeney en una base numérica dada es un número natural igual al cubo perfecto de otro número natural tal que la suma de los dígitos del primer número natural es igual a la del segundo. El nombre deriva de Henry Dudeney , quien señaló la existencia de estos números en uno de sus acertijos, Extracción de raíces , donde un profesor jubilado de Colney Hatch postula esto como un método general para la extracción de raíces.
Sea un número natural. Definimos la función de Dudeney para base y potencia como la siguiente:
donde es el número de dígitos del número en base .
Un número natural es una raíz de Dudeney si es un punto fijo para , lo que ocurre si . El número natural es un número de Dudeney generalizado , [1] y para , los números se conocen como números de Dudeney . y son números de Dudeney triviales para todos y , todos los demás números de Dudeney triviales son números de Dudeney triviales no triviales .
Para y , hay exactamente seis números enteros de este tipo (secuencia A061209 en la OEIS ):
Un número natural es una raíz de Dudeney sociable si es un punto periódico para , donde para un entero positivo , y forma un ciclo de período . Una raíz de Dudeney es una raíz de Dudeney sociable con , y una raíz de Dudeney amistosa es una raíz de Dudeney sociable con . Los números de Dudeney sociables y los números de Dudeney amistosos son las potencias de sus respectivas raíces.
El número de iteraciones necesarias para alcanzar un punto fijo es la persistencia de la función Dudeney de , y es indefinido si nunca alcanza un punto fijo.
Se puede demostrar que, dada una base numérica y una potencia , la raíz de Dudeney máxima debe satisfacer este límite:
lo que implica un número finito de raíces de Dudeney y números de Dudeney para cada orden y base . [2]
es la suma de los dígitos . Los únicos números de Dudeney son los números de un solo dígito en base , y no hay puntos periódicos con período primo mayor que 1.
Todos los números están representados en base .
Los números de Dudeney se pueden extender a los números enteros negativos mediante el uso de una representación de dígitos con signo para representar cada número entero.
El siguiente ejemplo implementa la función Dudeney descrita en la definición anterior para buscar raíces, números y ciclos de Dudeney en Python .
def dudeneyf ( x : int , p : int , b : int ) -> int : """Función de Dudeney.""" y = pow ( x , p ) total = 0 mientras y > 0 : total = total + y % b y = y // b devuelve total def dudeneyf_cycle ( x : int , p : int , b : int ) - > Lista : visto = [] mientras x no está en visto : visto.append ( x ) x = dudeneyf ( x , p , b ) ciclo = [ ] mientras x no está en ciclo : ciclo.append ( x ) x = dudeneyf ( x , p , b ) devolver ciclo