OFFSET
1,2
COMMENTS
Number of n-digit terms: 9, 17, 32, 61, 116, 222, 424 (= A090994).
Also called 10-esthetic numbers (where in general a q-esthetic number has the property that the consecutive digits of its base-q representation differ by 1, see "Esthetic numbers" by J. M. De Koninck and N. Doyon). - Narad Rampersad, Aug 03 2018
LINKS
Reinhard Zumkeller, Table of n, a(n) for n = 1..10000
J. M. De Koninck and N. Doyon, Esthetic numbers, Annales des Sciences mathématiques du Québec, 33 (2009), 155-164.
FORMULA
a(n) >> n^3.53267..., where the exponent is log 10/log k and k is the largest root of x^5 - x^4 - 4x^3 + 3x^2 + 3x - 1. - Charles R Greathouse IV, Mar 11 2014
MATHEMATICA
Join[Range[9], Select[Range[2000], Union[Abs[Differences[IntegerDigits[#]]]]=={1}&]] (* Harvey P. Dale, Dec 28 2011 *)
PROG
(Haskell)
-- import Data.Set (fromList, deleteFindMin, insert)
a033075 n = a033075_list !! (n-1)
a033075_list = f (fromList [1..9]) where
f s | d == 0 = m : f (insert (10*m+1) s')
| d == 9 = m : f (insert (10*m+8) s')
| otherwise = m : f (insert (10*m+d-1) (insert (10*m+d+1) s'))
where (m, s') = deleteFindMin s
d = mod m 10
-- Reinhard Zumkeller, Feb 21 2012
(PARI) diff(v)=vector(#v-1, i, v[i+1]-v[i])
is(n)=if(n>9, Set(abs(diff(digits(n))))==[1], n>0) \\ Charles R Greathouse IV, Mar 11 2014
(Python)
def ok(n):
s = str(n)
return all(abs(int(s[i]) - int(s[i+1])) == 1 for i in range(len(s)-1))
print(list(filter(ok, range(1, 877)))) # Michael S. Branicky, Aug 22 2021
(Python) # faster version for initial segment of sequence
def gen(d, s=None): # generate remaining d digits, from start digit s
if d == 0:
yield tuple()
return
if s == None:
yield from [(i, ) + g for i in range(1, 10) for g in gen(d-1, s=i)]
else:
if s > 0:
yield from [(s-1, ) + g for g in gen(d-1, s=s-1)]
if s < 9:
yield from [(s+1, ) + g for g in gen(d-1, s=s+1)]
def agentod(digits):
for d in range(1, digits+1):
yield from [int("".join(map(str, g))) for g in gen(d, s=None)]
print(list(agentod(11))) # Michael S. Branicky, Aug 22 2021
CROSSREFS
KEYWORD
nonn,base,easy
AUTHOR
STATUS
approved