Sum-product number

Summary

A sum-product number in a given number base is a natural number that is equal to the product of the sum of its digits and the product of its digits.

There are a finite number of sum-product numbers in any given base . In base 10, there are exactly four sum-product numbers (sequence A038369 in the OEIS): 0, 1, 135, and 144.[1]

Definition edit

Let   be a natural number. We define the sum-product function for base  ,  , to be the following:

 

where   is the number of digits in the number in base  , and

 

is the value of each digit of the number. A natural number   is a sum-product number if it is a fixed point for  , which occurs if  . The natural numbers 0 and 1 are trivial sum-product numbers for all  , and all other sum-product numbers are nontrivial sum-product numbers.

For example, the number 144 in base 10 is a sum-product number, because  ,  , and  .

A natural number   is a sociable sum-product number if it is a periodic point for  , where   for a positive integer  , and forms a cycle of period  . A sum-product number is a sociable sum-product number with  , and an amicable sum-product number is a sociable sum-product number with  

All natural numbers   are preperiodic points for  , regardless of the base. This is because for any given digit count  , the minimum possible value of   is   and the maximum possible value of   is   The maximum possible digit sum is therefore   and the maximum possible digit product is   Thus, the sum-product function value is   This suggests that   or dividing both sides by  ,   Since   this means that there will be a maximum value   where   because of the exponential nature of   and the linearity of   Beyond this value  ,   always. Thus, there are a finite number of sum-product numbers, and any natural number is guaranteed to reach a periodic point or a fixed point less than   making it a preperiodic point.

The number of iterations   needed for   to reach a fixed point is the sum-product function's persistence of  , and undefined if it never reaches a fixed point.

Any integer shown to be a sum-product number in a given base must, by definition, also be a Harshad number in that base.

Sum-product numbers and cycles of Fb for specific b edit

All numbers are represented in base  .

Base Nontrivial sum-product numbers Cycles
2 (none) (none)
3 (none) 2 → 11 → 2, 22 → 121 → 22
4 12 (none)
5 341 22 → 31 → 22
6 (none) (none)
7 22, 242, 1254, 2343, 116655, 346236, 424644
8 (none)
9 13, 281876, 724856, 7487248 53 → 143 → 116 → 53
10 135, 144
11 253, 419, 2189, 7634, 82974
12 128, 173, 353
13 435, A644, 268956
14 328, 544, 818C
15 2585
16 14
17 33, 3B2, 3993, 3E1E, C34D, C8A2
18 175, 2D2, 4B2
19 873, B1E, 24A8, EAH1, 1A78A, 6EC4B7
20 1D3, 14C9C, 22DCCG
21 1CC69
22 24, 366C, 6L1E, 4796G
23 7D2, J92, 25EH6
24 33DC
25 15, BD75, 1BBN8A
26 81M, JN44, 2C88G, EH888
27  
28 15B
29  
30 976, 85MDA
31 44, 13H, 1E5
32  
33 1KS69, 54HSA
34 25Q8, 16L6W, B6CBQ
35 4U5W5
36 16, 22O

Extension to negative integers edit

Sum-product numbers can be extended to the negative integers by use of a signed-digit representation to represent each integer.

Programming example edit

The example below implements the sum-product function described in the definition above to search for sum-product numbers and cycles in Python.

def sum_product(x: int, b: int) -> int:
    """Sum-product number."""
    sum_x = 0
    product = 1
    while x > 0:
        if x % b > 0:
            sum_x = sum_x + x % b
            product = product * (x % b)
        x = x // b
    return sum_x * product

def sum_product_cycle(x: int, b: int) -> list[int]:
    seen = []
    while x not in seen:
        seen.append(x)
        x = sum_product(x, b)
    cycle = []
    while x not in cycle:
        cycle.append(x)
        x = sum_product(x, b)
    return cycle

See also edit

References edit

  1. ^ Sloane, N. J. A. (ed.). "Sequence A038369 (Numbers n such that n = (product of digits of n) * (sum of digits of n).)". The On-Line Encyclopedia of Integer Sequences. OEIS Foundation.