Faktorion, liczba faktorialna – liczba naturalna, która w danym systemie pozycyjnym jest równa sumie silni swoich cyfr.

Faktorion nazywa się: trywialnym, jeżeli jest równa lub , nietrywialnym, jeżeli jest inną liczbą faktorialną.

Suma silni cyfr Dla liczby naturalnej , podstawy systemu pozycyjnego oraz definiuje się funkcję sumy silni cyfr (ang. sum of the factorials of the digits):

jest wartością -tej cyfry liczby.

Liczba naturalna jest liczbą faktorialną w podstawie , jeżeli spełnia warunek:

. Przykładowo w systemie dziesiętnym:

,

dlatego liczba jest faktorionem.

Własności

Faktorion spełnia następujące zależności:

oraz są liczbami faktorialnymi dla każdej podstawy , dla ustalonej podstawy istnieje skończona liczba liczb faktorialnych, iterowanie funkcji prowadzi do punktu stałego lub cyklu.

Przykłady

Pierwsze nietrywialne liczby faktorialne w systemie dziesiętnym:

Rozwinięcie Informatyka W informatyce liczba faktorialna jest definiowana względem podstawy systemu pozycyjnego . Sprawdzenie, czy liczba jest faktorionem, polega na obliczeniu sumy silni jej cyfr i porównaniu otrzymanego wyniku z liczbą wyjściową.

Implementacja w C++ #include <iostream> using namespace std;

long long factorial(int n) { long long result = 1;

for (int i = 2; i <= n; i++) { result *= i;

return result; }

long long sfd(long long number, int base = 10) { if (number == 0) return factorial(0);

long long sum = 0;

while (number > 0) { sum += factorial(number % base); number /= base;

return sum; }

bool is_factorion(long long number, int base = 10) { return sfd(number, base) == number; }

Algorytm odwzorowuje bezpośrednio definicję funkcji . Polega na wyznaczeniu kolejnych cyfr liczby w systemie o podstawie base, obliczeniu ich silni oraz zsumowaniu otrzymanych wartości. Złożoność obliczeniowa wynosi , gdzie oznacza liczbę cyfr liczby. Przypisy

Kategoria:Rodzaje liczb naturalnych