This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.
%I A033075 #54 Aug 26 2021 08:54:06 %S A033075 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, %T A033075 101,121,123,210,212,232,234,321,323,343,345,432,434,454,456,543,545, %U A033075 565,567,654,656,676,678,765,767,787,789,876 %N A033075 Positive numbers all of whose pairs of consecutive decimal digits differ by 1. %C A033075 Number of n-digit terms: 9, 17, 32, 61, 116, 222, 424 (= A090994). %C A033075 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 %H A033075 Reinhard Zumkeller, <a href="/A033075/b033075.txt">Table of n, a(n) for n = 1..10000</a> %H A033075 J. M. De Koninck and N. Doyon, <a href="http://www.jeanmariedekoninck.mat.ulaval.ca/fileadmin/jmdk/Documents/Publications/2009_esthetic_numbers.pdf">Esthetic numbers</a>, Annales des Sciences mathématiques du Québec, 33 (2009), 155-164. %F A033075 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 %t A033075 Join[Range[9],Select[Range[2000],Union[Abs[Differences[IntegerDigits[#]]]]=={1}&]] (* _Harvey P. Dale_, Dec 28 2011 *) %o A033075 (Haskell) %o A033075 -- import Data.Set (fromList, deleteFindMin, insert) %o A033075 a033075 n = a033075_list !! (n-1) %o A033075 a033075_list = f (fromList [1..9]) where %o A033075 f s | d == 0 = m : f (insert (10*m+1) s') %o A033075 | d == 9 = m : f (insert (10*m+8) s') %o A033075 | otherwise = m : f (insert (10*m+d-1) (insert (10*m+d+1) s')) %o A033075 where (m,s') = deleteFindMin s %o A033075 d = mod m 10 %o A033075 -- _Reinhard Zumkeller_, Feb 21 2012 %o A033075 (PARI) diff(v)=vector(#v-1,i,v[i+1]-v[i]) %o A033075 is(n)=if(n>9, Set(abs(diff(digits(n))))==[1], n>0) \\ _Charles R Greathouse IV_, Mar 11 2014 %o A033075 (Python) %o A033075 def ok(n): %o A033075 s = str(n) %o A033075 return all(abs(int(s[i]) - int(s[i+1])) == 1 for i in range(len(s)-1)) %o A033075 print(list(filter(ok, range(1, 877)))) # _Michael S. Branicky_, Aug 22 2021 %o A033075 (Python) # faster version for initial segment of sequence %o A033075 def gen(d, s=None): # generate remaining d digits, from start digit s %o A033075 if d == 0: %o A033075 yield tuple() %o A033075 return %o A033075 if s == None: %o A033075 yield from [(i, ) + g for i in range(1, 10) for g in gen(d-1, s=i)] %o A033075 else: %o A033075 if s > 0: %o A033075 yield from [(s-1, ) + g for g in gen(d-1, s=s-1)] %o A033075 if s < 9: %o A033075 yield from [(s+1, ) + g for g in gen(d-1, s=s+1)] %o A033075 def agentod(digits): %o A033075 for d in range(1, digits+1): %o A033075 yield from [int("".join(map(str, g))) for g in gen(d, s=None)] %o A033075 print(list(agentod(11))) # _Michael S. Branicky_, Aug 22 2021 %Y A033075 Cf. A090994, A048398 (primes), A048411 (squares), A207954 (palindromes). %K A033075 nonn,base,easy %O A033075 1,2 %A A033075 _Clark Kimberling_