login
The OEIS is supported by the many generous donors to the OEIS Foundation.

 

Logo
Hints
(Greetings from The On-Line Encyclopedia of Integer Sequences!)
A033075 Positive numbers all of whose pairs of consecutive decimal digits differ by 1. 24
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 21, 23, 32, 34, 43, 45, 54, 56, 65, 67, 76, 78, 87, 89, 98, 101, 121, 123, 210, 212, 232, 234, 321, 323, 343, 345, 432, 434, 454, 456, 543, 545, 565, 567, 654, 656, 676, 678, 765, 767, 787, 789, 876 (list; graph; refs; listen; history; text; internal format)
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
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
Cf. A090994, A048398 (primes), A048411 (squares), A207954 (palindromes).
Sequence in context: A342262 A255734 A357142 * A215014 A292439 A132577
KEYWORD
nonn,base,easy
AUTHOR
STATUS
approved

Lookup | Welcome | Wiki | Register | Music | Plot 2 | Demos | Index | Browse | More | WebCam
Contribute new seq. or comment | Format | Style Sheet | Transforms | Superseeker | Recents
The OEIS Community | Maintained by The OEIS Foundation Inc.

License Agreements, Terms of Use, Privacy Policy. .

Last modified April 25 04:42 EDT 2024. Contains 371964 sequences. (Running on oeis4.)