Factorion - Factorion

En teoría de números , un factorión en una base numérica dada es un número natural que es igual a la suma de los factoriales de sus dígitos . El nombre factorion fue acuñado por el autor Clifford A. Pickover .

Definición

Sea un número natural. Para una base , definimos la suma del factorial de los dígitos de , , que es el siguiente:

.

donde es el número de dígitos en el número en base , es el factorial de y

es el valor del décimo dígito del número. Un número natural es un - factorion si es un punto fijo para , es decir, si . y son puntos fijos para todas las bases y, por tanto, son factores triviales para todos , y todos los demás factores son factores no triviales .

Por ejemplo, el número 145 en base es un factorión porque .

Porque , la suma del factorial de los dígitos es simplemente el número de dígitos en la representación en base 2 desde entonces .

Un número natural es un factorión sociable si es un punto periódico para , donde para un entero positivo , y forma un ciclo de período . Un factorion es un factorion sociable con , y un factorion amistoso es un factorion sociable con .

Todos los números naturales son puntos preperiódicos para , independientemente de la base. Esto se debe a que todos los números naturales de base con dígitos satisfacen . Sin embargo, cuando , entonces para , cualquiera satisfará hasta . Hay una cantidad finita de números naturales menores que , por lo que se garantiza que el número alcanzará un punto periódico o un punto fijo menor que , convirtiéndolo en un punto preperiódico. Para , el número de dígitos de cualquier número, una vez más, lo que lo convierte en un punto preperiódico. Esto también significa que hay un número finito de factoriones y ciclos para cualquier base dada .

El número de iteraciones necesarias para alcanzar un punto fijo es la persistencia de la función y no está definido si nunca llega a un punto fijo.

Factoriones para

b = ( k - 1)!

Sea un entero positivo y la base numérica . Luego:

  • es un factorion para todos .
Prueba  -

Dejar que los dígitos de be , y . Luego

Por tanto, es un factorión para todos .

  • es un factorion para todos .
Prueba  -

Dejar que los dígitos de be , y . Luego

Por tanto, es un factorión para todos .

Factoriones
4 6 41 42
5 24 51 52
6 120 61 62
7 720 71 72

b = k ! - k + 1

Sea un entero positivo y la base numérica . Luego:

  • es un factorion para todos .
Prueba  -

Dejar que los dígitos de be , y . Luego

Por tanto, es un factorión para todos .

Factoriones
3 4 13
4 21 14
5 116 15
6 715 dieciséis

Tabla de factoriones y ciclos de

Todos los números están representados en base .

Base Factorión no trivial ( , ) Ciclos
2
3
4 13 3 → 12 → 3
5 144
6 41, 42
7 36 → 2055 → 465 → 2343 → 53 → 240 → 36
8

3 → 6 → 1320 → 12

175 → 12051 → 175

9 62558
10 145, 40585

871 → 45361 → 871

872 → 45362 → 872

Ejemplo de programación

El siguiente ejemplo implementa la suma del factorial de los dígitos descritos en la definición anterior para buscar factoriones y ciclos en Python .

def factorial(x: int) -> int:
    total = 1
    for i in range(0, x):
        total = total * (i + 1)
    return total

def sfd(x: int, b: int) -> int:
    """Sum of the factorial of the digits."""
    total = 0
    while x > 0:
        total = total + factorial(x % b)
        x = x // b
    return total

def sfd_cycle(x: int, b: int) -> List[int]:
    seen = []
    while x not in seen:
        seen.append(x)
        x = sfd(x, b)
    cycle = []
    while x not in cycle:
        cycle.append(x)
        x = sfd(x, b)
    return cycle

Ver también

Referencias

enlaces externos