Fazione - Factorion

Nella teoria dei numeri , una fattorizzazione in una data base numerica è un numero naturale che è uguale alla somma dei fattoriali delle sue cifre . Il nome factorion è stato coniato dall'autore Clifford A. Pickover .

Definizione

Sia un numero naturale. Per una base , definiamo la somma del fattoriale delle cifre di , , come la seguente:

.

dove è il numero di cifre nel numero in base , è il fattoriale di e

è il valore della esima cifra del numero. Un numero naturale è un - factorion se è un punto fisso per , cioè se . e sono punti fissi per tutte le basi , e quindi sono fattori banali per tutti , e tutte le altre fattorie sono fattori non banali .

Ad esempio, il numero 145 in base è una scomposizione perché .

Per , la somma del fattoriale delle cifre è semplicemente il numero di cifre nella rappresentazione in base 2 poiché .

Un numero naturale è una frazione socievole se è un punto periodico per , dove per un intero positivo , e forma un ciclo di periodo . Una fazione è una fazione socievole con , e una fazione amichevole è una fazione socievole con .

Tutti i numeri naturali sono punti preperiodici per , indipendentemente dalla base. Questo perché tutti i numeri naturali di base con cifre soddisfano . Tuttavia, quando , poi per , così qualsiasi soddisferà fino a . Esistono un numero finito di numeri naturali inferiori a , quindi è garantito che il numero raggiunga un punto periodico o un punto fisso inferiore a , rendendolo un punto preperiodico. Per , il numero di cifre per qualsiasi numero, ancora una volta, rendendolo un punto preperiodico. Ciò significa anche che c'è un numero finito di fattorie e cicli per ogni data base .

Il numero di iterazioni necessarie per raggiungere un punto fisso è la persistenza della funzione di , e indefinito se non raggiunge mai un punto fisso.

Fattori per

b = ( k − 1)!

Sia un numero intero positivo e la base numerica . Quindi:

  • è un fattore per tutti .
prova  —

Lascia che le cifre di be , e . Quindi

Quindi è una fattore per tutti .

  • è un fattore per tutti .
prova  —

Lascia che le cifre di be , e . Quindi

Quindi è una fattore per tutti .

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

b = k ! − k + 1

Sia un numero intero positivo e la base numerica . Quindi:

  • è un fattore per tutti .
prova  —

Lascia che le cifre di be , e . Quindi

Quindi è una fattore per tutti .

Fazioni
3 4 13
4 21 14
5 116 15
6 715 16

Tavola delle fattorie e dei cicli di

Tutti i numeri sono rappresentati in base .

Base Fattore non banale ( , ) Cicli
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

Esempio di programmazione

L'esempio seguente implementa la somma del fattoriale delle cifre descritte nella definizione precedente per cercare fattori e cicli in 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

Guarda anche

Riferimenti

link esterno