%I
%S 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,23,24,25,26,
%T 27,28,29,30,33,34,35,36,37,38,39,40,44,45,46,47,48,49,50,55,56,57,58,
%U 59,60,66,67,68,69,70,77,78,79,80,88,89,90,99,100,101,102,103
%N Permutation classes of integers, each identified by its smallest member.
%C Let the "permutation set" of a positive integer n be the set of all integers formed by permuting the digits of n. Two integers are "permutationally congruent" if they generate the same permutation set. A "permutation class" is a set of all permutationally congruent integers. This sequence lists each permutation class, identified by its smallest member.
%C These are also the positive integers in order, omitting any ddigit number n if a previously listed ddigit number is a permutation of the digits of n.
%C Range of A328447: smallest representative of the equivalence class of all numbers having the same digits up to permutation. Equivalently: Numbers with digits in nondecreasing order, except that the smallest nonzero digit must precede the zero digits. This sequence is useful when considering functions which depend only on the digits of n, e.g., the number of primes contained in n, cf. A039993, A039999, A075053 and the records therein, A072857 (primeval numbers) and A076497, resp. A239196 and A239197, etc.  _M. F. Hasler_, Oct 18 2019
%H Aaron Dunigan AtLee and Michael De Vlieger, <a href="/A179239/b179239.txt">Table of n, a(n) for n = 0..10000</a> (first 2997 terms from Aaron Dunigan AtLee; prefix 0 by _Georg Fischer_, Oct 24 2019)
%e The permutation set of 24 is {24, 42}, and this is the equivalence class modulo permutations of both of them, so 24 is listed, but 42 is not.
%e The permutation set of 30 is {3, 30}, but 3 is not in the same permutation class as 30 since 30 cannot be obtained by permuting digits of 3. Therefore 30 is listed separately from 3.
%e The numbers 89 and 98 are also permutationally congruent and form a permutation class, so only the smaller one is listed.
%t maxTerm = 103; (*maxTerm is the greatest term you wish to see*) permutationSet[n_Integer] := FromDigits /@ Permutations[IntegerDigits[n]]; permutationCongruentQ[x_Integer, y_Integer] := Sort[permutationSet[x]] == Sort[permutationSet[y]]; DeleteDuplicates[Range[maxTerm], permutationCongruentQ]
%t f[n_] := Block[{a = {0}, b = {DigitCount[0]}, i, w}, Do[w = DigitCount@ i; AppendTo[b, w]; If[! MemberQ[Most@ b, w], AppendTo[a, i]], {i, n}]; Rest@ a]; f@ 103 (* or faster: *)
%t Select[Range@ 103, LessEqual @@ IntegerDigits@ #  And[Take[IntegerDigits@ #, Last@ DigitCount@ # + 1] == Reverse@ Take[Sort@ IntegerDigits@ #, Last@ DigitCount@ # + 1], LessEqual @@ DeleteCases[IntegerDigits@ #, d_ /; d == 0]] &] (* _Michael De Vlieger_, Jul 14 2015 *)
%o (PARI) is(n) = {my(d=digits(n),i); for(i=2,#d, if(d[i]!=0, d=vecextract(d,concat([1],vector(#di+1,j,i1+j))); break));d==vecsort(d)n/10^valuation(n,10)<10}
%o \\given an element n, in base b, find the next element from the sequence.
%o nxt(n,{b=10}) = {my(d = digits(n)); i = #d; while(i>0&&d[i]==b1,i); if(i>1, if(d[i]>0, d[i]++, d[i]=d[1];);for(j=i+1,#d,d[j]=d[i]), if(i==1, d[i]++;for(j=2,#d,d[j]=0), return(10^(#d))));sum(j=1,#d,d[j]*10^(#dj))} \\ _David A. Corneth_, Apr 23 2016
%o (PARI) select( is_A179239(n)={n==A328447(n)}, [0..200]) \\ _M. F. Hasler_, Oct 18 2019
%Y A variant of A009994.
%Y Cf. A047726, A035927 (Number of distinct ndigit numbers up to permutations of digits).
%Y Cf. A004186, A328447: largest & smallest representative of the class of n.
%K nonn,base
%O 0,3
%A _Aaron Dunigan AtLee_, Jul 04 2010
%E Prefixed with a(0) = 0 by _M. F. Hasler_, Oct 18 2019
