This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.
%I A371862 #51 Apr 13 2024 23:00:21 %S A371862 4,6,8,9,10,12,14,16,18,20,21,24,27,28,30,32,34,36,38,40,42,44,46,48, %T A371862 49,52,54,56,57,58,60,63,64,66,68,69,70,72,76,78,80,81,84,86,87,88,90, %U A371862 96,98,99,100,102,104,106,108,110,111,112,114,116,117,118,120 %N 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. %C A371862 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 %C A371862 No number ending in 5 is a term. - _Jon E. Schoenfield_, Apr 09 2024 %C A371862 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 %C A371862 All products of x (repdigits consisting of 3's or 6's) and 10x + 7 are terms. - _Ivan N. Ianakiev_, Apr 11 2024 %H A371862 Michael S. Branicky, <a href="/A371862/b371862.txt">Table of n, a(n) for n = 1..10000</a> %H A371862 Bernardo Recamán Santos, <a href="https://puzzling.stackexchange.com/questions/125960/melissas-numbers">Melissa's Numbers</a>, Puzzling Stack Exchange, Mar 13 2024. %e A371862 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. %e A371862 112 is a term since 112 = 4*4*7 and is the first term requiring a product with three factors. %o A371862 (Python) %o A371862 from sympy import divisors, isprime %o A371862 from functools import cache %o A371862 @cache %o A371862 def ok(n, avoid=tuple()): %o A371862 if avoid == tuple(): avoid = set(str(n)) %o A371862 else: avoid = set(avoid) %o A371862 if n%10 == 5 or len(avoid) == 10 or isprime(n): return False %o A371862 for d in divisors(n)[1:-1]: %o A371862 if set(str(d)) & avoid == set(): %o A371862 if set(str(n//d)) & avoid == set(): return True %o A371862 if ok(n//d, tuple(sorted(avoid))): return True %o A371862 return False %o A371862 print([k for k in range(200) if ok(k)]) # _Michael S. Branicky_, Apr 10 2024 %Y A371862 Cf. A001055, A002808, A162247. %K A371862 nonn,base %O A371862 1,1 %A A371862 _Bernardo Recamán_ and _Freddy Barrera_, Apr 09 2024