Faktorion

Faktorion, liczba faktorialnaliczba naturalna, która w danym systemie pozycyjnym jest równa sumie silni swoich cyfr[1].

Faktorion nazywa się:

  • trywialnym, jeżeli jest równa lub ,
  • nietrywialnym, jeżeli jest inną liczbą faktorialną[2].

Suma silni cyfr

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

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

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

  1. Eric W. Weisstein, Factorion [online], mathworld.wolfram.com (ang.).
  2. SFD Chains and Factorion Cycles, www.tandfonline.com, DOI10.1017/S002555720017500X (ang.).
  3. Find sum of digits in factorial of a number [online], GeeksforGeeks, 12 czerwca 2017 (ang.).

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.
Kembali kehalaman sebelumnya