Multiplicative digital root

From HandWiki
Short description: Mathematical formula

In number theory, the multiplicative digital root of a natural number [math]\displaystyle{ n }[/math] in a given number base [math]\displaystyle{ b }[/math] is found by multiplying the digits of [math]\displaystyle{ n }[/math] together, then repeating this operation until only a single-digit remains, which is called the multiplicative digital root of [math]\displaystyle{ n }[/math].[1][2] The multiplicative digital root for the first few positive integers are:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 2, 4, 6, 8, 0, 2, 4, 6, 8, 0, 3, 6, 9, 2, 5, 8, 2, 8, 4, 0. (sequence A031347 in the OEIS)

Multiplicative digital roots are the multiplicative equivalent of digital roots.


Let [math]\displaystyle{ n }[/math] be a natural number. We define the digit product for base [math]\displaystyle{ b \gt 1 }[/math] [math]\displaystyle{ F_{b} : \mathbb{N} \rightarrow \mathbb{N} }[/math] to be the following:

[math]\displaystyle{ F_{b}(n) = \prod_{i=0}^{k - 1} d_i }[/math]

where [math]\displaystyle{ k = \lfloor \log_{b}{n} \rfloor + 1 }[/math] is the number of digits in the number in base [math]\displaystyle{ b }[/math], and

[math]\displaystyle{ d_i = \frac{n \bmod{b^{i+1}} - n \bmod b^i}{b^i} }[/math]

is the value of each digit of the number. A natural number [math]\displaystyle{ n }[/math] is a multiplicative digital root if it is a fixed point for [math]\displaystyle{ F_{b} }[/math], which occurs if [math]\displaystyle{ F_{b}(n) = n }[/math].

For example, in base [math]\displaystyle{ b = 10 }[/math], 0 is the multiplicative digital root of 9876, as

[math]\displaystyle{ F_{10}(9876) = (9)(8)(7)(6) = 3024 }[/math]
[math]\displaystyle{ F_{10}(3024) = (3)(0)(2)(4) = 0 }[/math]
[math]\displaystyle{ F_{10}(0) = 0 }[/math]

All natural numbers [math]\displaystyle{ n }[/math] are preperiodic points for [math]\displaystyle{ F_{b} }[/math], regardless of the base. This is because if [math]\displaystyle{ n \geq b }[/math], then

[math]\displaystyle{ n = \sum_{i=0}^{k - 1} d_i b^i }[/math]

and therefore

[math]\displaystyle{ F_{b}(n) = \prod_{i=0}^{k - 1} d_i = d_{k - 1} \prod_{i=0}^{k - 2} d_i \lt d_{k - 1} b^{k - 1} \lt \sum_{i=0}^{k - 1} d_i b^i = n }[/math]

If [math]\displaystyle{ n \lt b }[/math], then trivially

[math]\displaystyle{ F_{b}(n) = n }[/math]

Therefore, the only possible multiplicative digital roots are the natural numbers [math]\displaystyle{ 0 \leq n \lt b }[/math], and there are no cycles other than the fixed points of [math]\displaystyle{ 0 \leq n \lt b }[/math].

Multiplicative persistence

The number of iterations [math]\displaystyle{ i }[/math] needed for [math]\displaystyle{ F_{b}^{i}(n) }[/math] to reach a fixed point is the multiplicative persistence of [math]\displaystyle{ n }[/math]. The multiplicative persistence is undefined if it never reaches a fixed point.

In base 10, it is conjectured that there is no number with a multiplicative persistence [math]\displaystyle{ i \gt 11 }[/math]: this is known to be true for numbers [math]\displaystyle{ n \leq 10^{20585} }[/math].[3][4] The smallest numbers with persistence 0, 1, ... are:

0, 10, 25, 39, 77, 679, 6788, 68889, 2677889, 26888999, 3778888999, 277777788888899. (sequence A003001 in the OEIS)

The search for these numbers can be sped up by using additional properties of the decimal digits of these record-breaking numbers. These digits must be sorted, and, except for the first two digits, all digits must be 7, 8, or 9. There are also additional restrictions on the first two digits. Based on these restrictions, the number of candidates for [math]\displaystyle{ k }[/math]-digit numbers with record-breaking persistence is only proportional to the square of [math]\displaystyle{ k }[/math], a tiny fraction of all possible [math]\displaystyle{ k }[/math]-digit numbers. However, any number that is missing from the sequence above would have multiplicative persistence > 11; such numbers are believed not to exist, and would need to have over 20,000 digits if they do exist.[3]

Extension to negative integers

The multiplicative digital root can be extended to the negative integers by use of a signed-digit representation to represent each integer.

Programming example

The example below implements the digit product described in the definition above to search for multiplicative digital roots and multiplicative persistences in Python.

def digit_product(x: int, b: int) -> int:
    if x == 0:
        return 0
    total = 1
    while x > 1:
        if x % b == 0:
            return 0
        if x % b > 1:
            total = total * (x % b)
        x = x // b
    return total

def multiplicative_digital_root(x: int, b :int) -> int:
    seen = []
    while x not in seen:
        x = digit_product(x, b)
    return x

def multiplicative_persistence(x: int, b: int) -> int:
    seen = []
    while x not in seen:
        x = digit_product(x, b)
    return len(seen) - 1

See also



External links