login
a(n) is the least integer > 1 such that its digit representation in base n is equal to the digit representation in base n of the initial terms of its set of divisors in increasing order.
1

%I #17 Oct 06 2022 04:30:49

%S 6,48,6,182,8,66,10,102,12,1586,14,198,16,258,18,345,20,402,22,486,24,

%T 306484,26,678,28,786,30,26102,32,1026,34,1158,36,1335,38,1446,40,

%U 1602,42,204741669824,44,1938,46,2118,48,2355,50,2502,52,2706,54,8199524,56

%N a(n) is the least integer > 1 such that its digit representation in base n is equal to the digit representation in base n of the initial terms of its set of divisors in increasing order.

%H Rémy Sigrist, <a href="/A357430/b357430.txt">Table of n, a(n) for n = 2..148</a>

%F a(2*n) = 2*n + 2 for any n > 1. - _Rémy Sigrist_, Sep 29 2022

%o (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)));

%o a(n) = my(k=2); while(! isok(k, n), k++); k;

%o (Python)

%o from sympy import divisors

%o from sympy.ntheory import digits

%o from itertools import count, islice

%o def ok(n, b):

%o target, s = digits(n, b)[1:], []

%o if target[0] != 1: return False

%o for d in divisors(n):

%o s += digits(d, b)[1:]

%o if len(s) >= len(target): return s == target

%o elif not target[:len(s)] == s: return False

%o def a(n):

%o return next(i for d in count(1) for i in range(n**d, 2*n**d) if ok(i, n))

%o print([a(n) for n in range(2, 41)]) # _Michael S. Branicky_, Oct 05 2022

%Y Cf. A175252 (base 10), A357428 (base 2), A357429 (base 3).

%K nonn,base

%O 2,1

%A _Michel Marcus_, Sep 28 2022

%E More terms from _Rémy Sigrist_, Sep 29 2022