OFFSET
1,3
COMMENTS
More than the usual number of terms are displayed in order to show the difference from some closely related sequences.
Also: a(1) = 0; a(n) = Min{x integer | x > a(n-1) and all digits to base 10 are distinct}.
This sequence is finite: a(8877691) = 9876543210 is the last term; a(8877690) = 9876543201. The largest gap between two consecutive terms before a(249999) = 2409653 is 104691, as a(175289) = 1098765, a(175290) = 1203456. - Reinhard Zumkeller, Jun 23 2001
Complement of A109303. - David Wasserman, May 21 2008
For the analogs in other bases b, search for "xenodromes." A001339(b-1) is the number of base b xenodromes for b >= 2. - Rick L. Shepherd, Feb 16 2013
A073531 gives the number of positive n-digit numbers in this sequence. Note that it does not count 0. - T. D. Noe, Jul 09 2013
Can be seen as irregular table whose n-th row holds the n-digit terms; length of row n is then A073531(n) = 9*9!/(10-n)! except for n = 1 where we have 10 terms, unless 0 is considered to belong to a row 0. - M. F. Hasler, Dec 10 2018
LINKS
Reinhard Zumkeller, Table of n, a(n) for n = 1..10000
Eric Weisstein's World of Mathematics, Digit
FORMULA
A178788(a(n)) = 1; A178787(a(n)) = n; A043537(a(n)) = A055642(a(n)). - Reinhard Zumkeller, Jun 30 2010
A107846(a(n)) = 0. - Reinhard Zumkeller, Jul 09 2013
MATHEMATICA
Select[Range[0, 100], Max[DigitCount[#]] == 1 &] (* Harvey P. Dale, Apr 04 2013 *)
PROG
(Haskell)
a010784 n = a010784_list !! (n-1)
a010784_list = filter ((== 1) . a178788) [1..]
-- Reinhard Zumkeller, Sep 29 2011
(PARI) is(n)=my(v=vecsort(digits(n))); v==vecsort(v, , 8) \\ Charles R Greathouse IV, Sep 17 2012
(PARI) select( is(n)=!n||#Set(digits(n))==logint(n, 10)+1, [0..120]) \\ M. F. Hasler, Dec 10 2018
(PARI) apply( A010784_row(n, L=List(if(n>1, [])))={forvec(d=vector(n, i, [0, 9]), forperm(d, p, p[1]&&listput(L, fromdigits(Vec(p)))), 2); Set(L)}, [1..2]) \\ A010784_row(n) returns all terms with n digits. - M. F. Hasler, Dec 10 2018
(Python)
A010784_list = [n for n in range(10**6) if len(set(str(n))) == len(str(n))] # Chai Wah Wu, Oct 13 2019
(Python) # alternate for generating full sequence
from itertools import permutations
afull = [0] + [int("".join(p)) for d in range(1, 11) for p in permutations("0123456789", d) if p[0] != "0"]
print(afull[:100]) # Michael S. Branicky, Aug 04 2022
(Scala) def hasDistinctDigits(n: Int): Boolean = {
val numerStr = n.toString
val digitSet = numerStr.split("").toSet
numerStr.length == digitSet.size
}
(0 to 99).filter(hasDistinctDigits) // Alonso del Arte, Jan 09 2020
CROSSREFS
KEYWORD
nonn,base,fini
AUTHOR
EXTENSIONS
Offset changed to 1 and first comment adjusted by Reinhard Zumkeller, Jun 14 2010
STATUS
approved