|
|
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
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,1
|
|
COMMENTS
|
It appears that a(n) != -1 iff n in A056653.
|
|
LINKS
|
|
|
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
|
|
CROSSREFS
|
|
|
KEYWORD
|
sign,base
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|