%I #24 Aug 22 2020 17:34:18
%S 0,1,2,2,3,2,4,2,5,3,4,2,6,2,4,4,7,2,8,2,6,4,4,2,9,3,4,5,6,2,10,2,11,
%T 4,4,4,12,2,4,4,9,2,10,2,6,6,4,2,13,3,8,4,6,2,14,4,9,4,4,2,15,2,4,6,
%U 16,4,10,2,6,4,10,2,17,2,4,8,6,4,10,2,13,7,4
%N Prime factor configuration patterns.
%C Call two numbers equivalent if they have the same prime factorization exponents (in the same order). This sequence enumerates the equivalence classes.
%C A055932(a(n)) = A071364(n). - _David Wasserman_, Dec 21 2004
%C From _Antti Karttunen_, Jun 13 2018: (Start)
%C After a(0) = 0, this is the restricted growth sequence transform of A071364. The latter sequence is an "ordered variant" of A046523, and because A101296 is the rgs-transform of A046523, it follows that for all i, j: a(i) = a(j) => A101296(i) = A101296(j).
%C (End)
%H Antti Karttunen, <a href="/A077462/b077462.txt">Table of n, a(n) for n = 0..100000</a> (terms 0..10000 from T. D. Noe)
%H S. Whealton, <a href="https://washingtonart.net/whealton/PFCN.html">Prime Factor Configuration Pattern Numbers</a>.
%e 12 = 2^2*3^1 has exponents {2,1}, and is the first number with that pattern, so its value is one more than the largest previous value; a(12) = 6. Contrast that with 18 = 2^1*3^2 having exponents {1,2}, which is different from {2,1}, so a(18) is not equal to a(12). - _Franklin T. Adams-Watters_, Aug 01 2012
%t fList = {{0}}; Join[{0, 1}, Table[e = Transpose[FactorInteger[n]][[2]]; pos = Position[fList, e]; If[pos == {}, AppendTo[fList, e]; Length[fList], pos[[1, 1]]], {n, 2, 100}]] (* _T. D. Noe_, Aug 01 2012 *)
%o (PARI) a(n)=local(vn); if(n<1,return(0)); vn=factor(n)[,2]; for(i=1,n,if(vn==factor(i)[,2],return(#Set(vector(i,j,factor(j)[,2])))))
%o (PARI)
%o up_to = 100000;
%o rgs_transform(invec) = { my(om = Map(), outvec = vector(length(invec)), u=1); for(i=1, length(invec), if(mapisdefined(om,invec[i]), my(pp = mapget(om, invec[i])); outvec[i] = outvec[pp] , mapput(om,invec[i],i); outvec[i] = u; u++ )); outvec; };
%o A071364(n) = { my(f = factor(n)); for (i=1, #f~, f[i, 1] = prime(i)); factorback(f); }; \\ From A071364
%o v077462 = rgs_transform(vector(up_to,n,A071364(n)));
%o A077462(n) = if(!n,n,v077462[n]); \\ _Antti Karttunen_, Jun 13 2018
%Y Cf. A037916, A071364, A101296, A290110, A300250.
%Y One more than A079616.
%K nonn,easy
%O 0,3
%A _Michael Somos_, Nov 07 2002