login

Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).

A372308
Composite numbers k such that the digits of k are in nonincreasing order while the digits of the concatenation of k's ascending order prime factors, with repetition, are in nondecreasing order.
5
4, 6, 8, 9, 10, 20, 21, 30, 32, 40, 42, 50, 54, 60, 63, 64, 70, 72, 74, 75, 80, 81, 84, 90, 92, 94, 96, 98, 100, 111, 200, 210, 222, 300, 320, 333, 400, 420, 432, 441, 444, 500, 531, 540, 553, 554, 600, 611, 630, 632, 640, 666, 700, 711, 720, 750, 752, 800, 810, 840, 851, 864, 871, 875, 882
OFFSET
1,1
COMMENTS
As all the numbers 10,20,...,90,100 are terms, all numbers that are recursively 10 times these values are also terms as they just add an additional 2 and 5 to their parent's prime factor list.
A number 999...9998 will be a term if it has two prime factors 2 and 4999...999. Therefore 999999999999998 and 999...9998 (with 54 9's) are both terms. See A056712.
LINKS
Michael S. Branicky, Table of n, a(n) for n = 1..884 (terms 1..458 from Scott R. Shannon; all terms < 10^18)
EXAMPLE
42 is a term as 42 = 2 * 3 * 7, and 42 has nonincreasing digits while its prime factor concatenation "237" has nondecreasing digits.
PROG
(Python)
from sympy import factorint, isprime
from itertools import count, islice, combinations_with_replacement as mc
def nd(s): return s == "".join(sorted(s))
def bgen(d):
yield from ("".join(m) for m in mc("9876543210", d) if m[0]!="0")
def agen(): # generator of terms
for d in count(1):
out = set()
for s in bgen(d):
t = int(s)
if t < 4 or isprime(t): continue
if nd("".join(str(p)*e for p, e in factorint(t).items())):
out.add(t)
yield from sorted(out)
print(list(islice(agen(), 65))) # Michael S. Branicky, Apr 26 2024
KEYWORD
nonn,base
AUTHOR
Scott R. Shannon, Apr 26 2024
STATUS
approved