login
A371862
Positive integers that can be written as the product of two or more other integers, none of which uses any of the digits in the number itself.
1
4, 6, 8, 9, 10, 12, 14, 16, 18, 20, 21, 24, 27, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 49, 52, 54, 56, 57, 58, 60, 63, 64, 66, 68, 69, 70, 72, 76, 78, 80, 81, 84, 86, 87, 88, 90, 96, 98, 99, 100, 102, 104, 106, 108, 110, 111, 112, 114, 116, 117, 118, 120
OFFSET
1,1
COMMENTS
Infinite since 10^k = 2^k * 5^k and 10^k - 1 = 3^2 * (10^k - 1)/9 are terms for k > 0 and are the smallest (k+1)-digit and largest k-digit terms, resp. All repdigits consisting of 4's, 6's, 8's, or 9's are also terms. - Michael S. Branicky, Apr 09 2024
No number ending in 5 is a term. - Jon E. Schoenfield, Apr 09 2024
Terms are composite. If 9 consecutive positive integers are terms then they are between two consecutive primes at least 14 apart. - David A. Corneth, Apr 10 2024
All products of x (repdigits consisting of 3's or 6's) and 10x + 7 are terms. - Ivan N. Ianakiev, Apr 11 2024
LINKS
Bernardo Recamán Santos, Melissa's Numbers, Puzzling Stack Exchange, Mar 13 2024.
EXAMPLE
60 is a term because it can be expressed as 4 * 15, avoiding its own digits 6 and 0. 50 isn't because there is no way of expressing 50 avoiding both 5 and 0.
112 is a term since 112 = 4*4*7 and is the first term requiring a product with three factors.
PROG
(Python)
from sympy import divisors, isprime
from functools import cache
@cache
def ok(n, avoid=tuple()):
if avoid == tuple(): avoid = set(str(n))
else: avoid = set(avoid)
if n%10 == 5 or len(avoid) == 10 or isprime(n): return False
for d in divisors(n)[1:-1]:
if set(str(d)) & avoid == set():
if set(str(n//d)) & avoid == set(): return True
if ok(n//d, tuple(sorted(avoid))): return True
return False
print([k for k in range(200) if ok(k)]) # Michael S. Branicky, Apr 10 2024
CROSSREFS
KEYWORD
nonn,base
AUTHOR
STATUS
approved