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”).

A357481
a(n) is the least integer b such that the digit representation of n in base b is equal to the digit representation in base b of the initial terms of the sets of divisors of n in increasing order, or -1 if no such b exists.
1
2, -1, -1, -1, -1, 2, -1, 6, 6, 8, -1, 10, -1, 12, 12, 14, -1, 16, -1, 18, 18, 20, -1, 22, 20, 24, 24, 26, -1, 28, -1, 30, 30, 32, 30, 34, -1, 36, 36, 38, -1, 40, -1, 42, 42, 44, -1, 3, 42, 3, 48, 2, -1, 52, 50, 54, 54, 56, -1, 58, -1, 60, 2, 62, 60, 7, -1, 66, 66, 68, -1, 70, -1, 72, 7
OFFSET
1,1
COMMENTS
It appears that a(n) != -1 iff n in A056653.
LINKS
Peter Munn, Scatterplot with asinh-scale axes. (Axis labeled "A000027(n)" is n.)
EXAMPLE
In base 10, 12 is a term of A175252, and there is no other lesser base for which 12 works, so a(12) = 10.
PROG
(PARI) isok(k, b) = my(s=[]); fordiv(k, d, s=concat(s, digits(d, b)); if (fromdigits(s, b)==k, return(1)); if (fromdigits(s, b)> k, return(0)));
a(n) = if (n==1, 2, for (b=2, n-1, if (isok(n, b), return(b))); return(-1); );
(Python)
from sympy import divisors
from sympy.ntheory import digits
def ok(n, b):
target, s = digits(n, b)[1:], []
if target[0] != 1: return False
for d in divisors(n):
s += digits(d, b)[1:]
if len(s) >= len(target): return s == target
def a(n):
if n == 1: return 2
for b in range(2, n):
if ok(n, b): return b
return -1
print([a(n) for n in range(1, 76)]) # Michael S. Branicky, Oct 05 2022
CROSSREFS
KEYWORD
sign,base
AUTHOR
Michel Marcus, Sep 30 2022
STATUS
approved