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!)
A343462 Number of n-digit positive integers that undulate. 0
9, 81, 525, 3105, 18939, 114381, 693129, 4195557, 25405586, 153820395, 931359050, 5639156409, 34143908573, 206733865761, 1251728824798, 7578945799704, 45888871327435, 277847147039527, 1682304127857000, 10185986079451152, 61673933253012813, 373422269794761171, 2260990733622821388 (list; graph; refs; listen; history; text; internal format)
OFFSET

1,1

COMMENTS

This is also the number of (2*n-1)-digit palindromes that undulate.

Classifying undulating numbers with n digits in initial digits and sign of first digit - second digit eases computation.

LINKS

Table of n, a(n) for n=1..23.

Eric Weisstein's World of Mathematics, Undulating Number.

Index entries for linear recurrences with constant coefficients, signature (5,10,-20,-15,21,7,-8,-1,1).

FORMULA

a(n) = 45*a(n-2) - 330*a(n-4) + 924*a(n-6) - 1287*a(n-8) + 1001*a(n-10) - 455*a(n-12) + 120*a(n-14) - 17*a(n-16) + a(n-18) for n >= 20. - Michael S. Branicky, Apr 17 2021

From Chai Wah Wu, Apr 24 2021: (Start)

a(n) = 5*a(n-1) + 10*a(n-2) - 20*a(n-3) - 15*a(n-4) + 21*a(n-5) + 7*a(n-6) - 8*a(n-7) - a(n-8) + a(n-9) for n > 10.

G.f.: x*(-8*x^9 + 7*x^8 + 63*x^7 - 45*x^6 - 162*x^5 + 81*x^4 + 150*x^3 - 30*x^2 - 36*x - 9)/(x^9 - x^8 - 8*x^7 + 7*x^6 + 21*x^5 - 15*x^4 - 20*x^3 + 10*x^2 + 5*x - 1). (End)

EXAMPLE

a(2) = 81 as there are 90 2-digit positive integers (10, 11, ..., 99). Of those, 11, 22, ..., 99 do not undulate as there is a pair of consecutive digits that are equal. There are nine nonundulating 2-digit numbers, leaving 90-9 = 81 that do undulate.

134 does not undulate as there are two pairs of consecutive digits where the right one is in both cases either smaller or larger. (In this case 1 < 3 and 3 < 4.)

143 does undulate since 1 < 4 and 4 > 3.

PROG

(PARI) first(n) = { my(res = vector(n), vup, vdown, nvup, nvdown); res[1] = 9; vup = vector(9, i, 1); vdown = vector(9, i, 1); for(i = 2, n, nvup = vector(9); nvdown = vector(9); nvdown[1] = vdown[9]; for(i = 2, 9, nvdown[i] = nvdown[i-1]+vup[i-1] ); for(i = 1, 8, nvup[i] = nvdown[9-i] ); vup = nvup; vdown = nvdown; res[i] = vecsum(vup)+vecsum(vdown)); res }

(Python)

def aupton(terms):

  up, dn, alst = [0] + [1]*9, [0] + [1]*9, [9]

  for n in range(2, terms+1):

    up_next = [sum(dn[j] for j in range(i)) for i in range(10)]

    dn_next = [sum(up[j] for j in range(i+1, 10)) for i in range(10)]

    up, dn = up_next, dn_next

    alst.append(sum(up + dn))

  return alst

print(aupton(22)) # Michael S. Branicky, Apr 16 2021

(Python) # alternate program as a linear system

import numpy as np

from sympy import Matrix

def aupton(terms):

  x = Matrix([0] + [1]*9 + [0] + [1]*9)

  c = Matrix([[1]*20])

  z10 = np.zeros((10, 10), dtype=np.int64)

  o10 = np.ones((10, 10), dtype=np.int64)

  A = Matrix(np.block([[z10, np.tril(o10, -1)], [np.triu(o10, +1), z10]]))

  alst = [9]

  for n in range(2, terms+1):

    x = A*x

    alst.append((c*x)[0])

  return alst

print(aupton(22)) # Michael S. Branicky, Apr 16 2021

CROSSREFS

Cf. A057332. Apart from the first 2 terms, the same as A152464.

Sequence in context: A223719 A270295 A214618 * A207009 A196986 A293889

Adjacent sequences:  A343459 A343460 A343461 * A343463 A343464 A343465

KEYWORD

nonn,easy,base

AUTHOR

David A. Corneth, Apr 16 2021

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 May 20 23:05 EDT 2022. Contains 353886 sequences. (Running on oeis4.)