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

 

Logo

Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 59th year, we have over 358,000 sequences, and we’ve crossed 10,300 citations (which often say “discovered thanks to the OEIS”).

Other ways to Give
Hints
(Greetings from The On-Line Encyclopedia of Integer Sequences!)
A009996 Numbers with digits in nonincreasing order. 28
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 20, 21, 22, 30, 31, 32, 33, 40, 41, 42, 43, 44, 50, 51, 52, 53, 54, 55, 60, 61, 62, 63, 64, 65, 66, 70, 71, 72, 73, 74, 75, 76, 77, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 110, 111, 200, 210, 211 (list; graph; refs; listen; history; text; internal format)
OFFSET

1,3

COMMENTS

Base-10 representation Sum_{i=0..m} d(i)*10^i has d(m) >= d(m-1) >= ... >= d(1) >= d(0).

These numbers might be called "Nialpdromes".

A004186(a(n)) = a(n). - Reinhard Zumkeller, Oct 31 2007

LINKS

Reinhard Zumkeller, Table of n, a(n) for n = 1..1000

D. Applegate, M. LeBrun, and N. J. A. Sloane, Dismal Arithmetic, J. Int. Seq. 14 (2011) # 11.9.8.

David A. Corneth, Table of n, a(n) for n = 1..20000, Jun 03 2014

Eric Weisstein's World of Mathematics, Digit

FORMULA

Binomial(n+k,k) = (n+k)!/(n!*k!). d(i) is the i-th digit of a(n). q is the number of digits of a(n). Find the highest m such that C(10 + m, 10) - m + 1 <= n. a(n) has m+1 digits. Set n = n - C(10+m,10). Find the highest d(m+1), then d(m), then ..., then d(1) each iteration such that C(d(m+1)+m+1,1+m+1)<=n. Then set n = n-C(d(m+1)+m+1,m+2). If n = 0 then stop. All remaining digits are 0.

EXAMPLE

As 10000 = C(10+6,10) - 6 + C(7+6,1+6) + C(5+5,1+5) + C(4+4,1+4) + C(3+3,1+3) + C(1+2,1+2) + C(0+1,1+1), C(0+0,1+0), a(10000) = 7543100.

MATHEMATICA

Select[Range[0, 211], GreaterEqual@@IntegerDigits[#]&] (* Ray Chandler, Oct 25 2011 *)

PROG

(PARI) is(n)=my(d=digits(n)); for(i=2, #d, if(d[i]>d[i-1], return(0))); 1 \\ Charles R Greathouse IV, Jan 02 2014

(PARI) \\ This program is optimized for fast calculation of a(n) for large n.

a(n)={my(q, m=10, i, r=0); n--; while(binomial(m+1, 10)<=n+m-9, m++); n-=binomial(m, 10); n+=m-9; q=m-9; i=q; while(n>0, m=i; while(binomial(m+1, i)<=n, m++); r=10*r+m+1-i; n-=binomial(m, i); i--; ); z=q-#digits(r); r*=10^z; r} \\ David A. Corneth, Jun 01 2014

(PARI) \\recursive--feed an element a(n)>0 and it gives a(n+1).

nxt(n)={my(r, d=digits(n), y, t); if(d[#d]!=9, y=1; while(y-#d-1&&d[y]==9, y++); t=#d; forstep(i=t, y+1, -1, if(d[i-1]!=d[i], t=i-1; break)); if(t!=#d, d[t+1]++; for(i=t+2, #d, d[i]=0), d[y]++; for(i=y+1, #d, d[i]=0)); r=d , d=vector(#d+1); d[1]=1; for(i=2, #d, d[i]=0); r=d); sum(i=1, #r, 10^(#r-i)*r[i])} \\ David A. Corneth, Jun 01 2014

(Python)

from itertools import count, islice, combinations_with_replacement as mc

def agen(): # generator of terms

yield 0

for d in count(1):

ni = (int("".join(m)) for m in mc("9876543210", d) if m[0]!="0")

yield from sorted(ni)

print(list(islice(agen(), 70))) # Michael S. Branicky, Jun 24 2022

CROSSREFS

Differs from A032873 and A032907.

Cf. A064222, A152054.

Sequence in context: A084383 A032873 A072543 * A032907 A130576 A334145

Adjacent sequences: A009993 A009994 A009995 * A009997 A009998 A009999

KEYWORD

nonn,base,look

AUTHOR

N. J. A. Sloane

EXTENSIONS

Corrected by Rick L. Shepherd, Jun 06 2002

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 December 7 22:27 EST 2022. Contains 358671 sequences. (Running on oeis4.)