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