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 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).
%I #33 Feb 24 2023 18:46:40
%S 10,20,30,40,50,60,70,80,90,100,101,21,31,41,51,61,71,81,91,200,102,
%T 202,32,42,52,62,72,82,92,300,103,203,303,43,53,63,73,83,93,400,104,
%U 204,304,404,54,64,74,84,94,500,105,205,305,405,505,65,75,85,95,600
%N Smallest integer m > n such that the multiset of nonzero decimal digits of m is exactly the same as the multiset of nonzero decimal digits of n.
%C Equivalently: a(n) is the number whose decimal digits are the next larger permutation of those of n, allowing any number of leading zeros.
%H M. F. Hasler, <a href="/A360443/b360443.txt">Table of n, a(n) for n = 1..1000</a>
%H Wikipedia, <a href="https://en.wikipedia.org/wiki/Permutation#Generation_in_lexicographic_order">Permutation: Generation in lexicographic order</a>, as of Feb. 2023.
%o (PARI) A360443(n)={forperm(concat(0,digits(n)),p,n||return(fromdigits(Vec(p))); n=0)} \\ _M. F. Hasler_, Feb 23 2023; similar idea also suggested by _Ruud H.G. van Tol_.
%o (Python) # From _Arthur O'Dwyer_, edited by _M. F. Hasler_, Feb 22 2023
%o def A360443(n):
%o s = '0' + str(n)
%o i = next(i for i in range(len(s) - 1, 0, -1) if s[i-1] < s[i])
%o tail = s[i-1:]
%o j = min((ch, j) for j, ch in enumerate(tail) if s[i-1] < ch)[1]
%o s = s[:i-1] + tail[j] + ''.join(sorted(tail[:j] + tail[j+1:]))
%o return int(s)
%o for n in range(100): print(n, A360443(n))
%Y Cf. A057168 (analog for base 2), A354049 (digits of a(n) contain those of n as sub-multiset).
%Y Cf. A009994 (numbers with digits in nondecreasing order: don't appear in this sequence).
%K nonn,easy,base
%O 1,1
%A _Marc LeBrun_ and _M. F. Hasler_, Feb 22 2023