Factorion - Factorion

În teoria numerelor , un factor într-o bază de date dată este un număr natural care este egal cu suma factorialelor cifrelor sale . Factorul de nume a fost inventat de autorul Clifford A. Pickover .

Definiție

Fie un număr natural. Pentru o bază , definim suma factorialul cifre de , să fie următoarele:

.

unde este numărul de cifre din numărul din bază , este factorialul lui și

este valoarea celei de- a cifre a numărului. Un număr natural este o - factor dacă este un punct fix pentru , adică dacă . și sunt puncte fixe pentru toate bazele și, prin urmare, sunt factori triviale pentru toți , iar toate celelalte factori sunt factori netriviale .

De exemplu, numărul 145 din bază este un factor deoarece .

Pentru , suma factorialul cifre este pur și simplu numărul de cifre în reprezentarea de bază 2 Incepand .

Un număr natural este un factor sociabil dacă este un punct periodic pentru , unde pentru un întreg pozitiv și formează un ciclu de perioadă . Un factor este un factor sociabil cu , iar un factor amiabil este un factor sociabil cu .

Toate numerele naturale sunt puncte preperiodice pentru , indiferent de bază. Acest lucru se datorează faptului că toate numerele naturale de bază cu cifre satisfac . Cu toate acestea, când , atunci pentru , deci orice va satisface până . Există mai multe numere naturale mai mici decât , astfel încât numărul este garantat pentru a atinge un punct periodic sau un punct fix mai mic decât , făcându-l un punct preperiodic. Pentru , numărul de cifre pentru orice număr, din nou, făcându-l un punct preperiodic. Aceasta înseamnă, de asemenea, că există un număr finit de factori și cicluri pentru orice bază dată .

Numărul de iterații necesare pentru a ajunge la un punct fix este funcția de persistență a , și nedefinită dacă nu se ajunge la un punct fix.

Factorii pentru

b = ( k - 1)!

Fie un număr întreg pozitiv și baza numărului . Atunci:

  • este un factor pentru toți .
Dovadă  -

Să fie cifrele fi și . Atunci

Astfel este un factor pentru toți .

  • este un factor pentru toți .
Dovadă  -

Să fie cifrele fi și . Atunci

Astfel este un factor pentru toți .

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

b = k ! - k + 1

Fie un număr întreg pozitiv și baza numărului . Atunci:

  • este un factor pentru toți .
Dovadă  -

Să fie cifrele fi și . Atunci

Astfel este un factor pentru toți .

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

Tabel cu factorii și cicluri de

Toate numerele sunt reprezentate în bază .

Baza Factor nontrivial ( , ) Cicluri
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

Exemplu de programare

Exemplul de mai jos implementează suma factorialului cifrelor descrise în definiția de mai sus pentru a căuta factorii și cicluri în 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

Vezi si

Referințe

linkuri externe