%I #11 Jan 11 2022 07:27:14
%S 1,2,1,3,1,4,1,5,1,2,1,6,1,2,1,7,1,2,1,3,1,2,1,8,1,2,1,3,1,9,1,10,1,2,
%T 1,11,1,2,1,4,1,4,1,3,1,2,1,12,1,2,1,3,1,2,1,5,1,2,1,13,1,2,1,14,1,4,
%U 1,3,1,2,1,15,1,2,1,3,1,4,1,5,1,2,1,6,1,2,1,5,1,3,1,3,1,2,1,16,1,2,1,3,1,4,1,5,1
%N Number of values of k, 1 <= k <= n, with A328478(k) = A328478(n), where A328478(n) gives the remainder when all maximal primorial divisors of n (from the largest to smallest) have been divided out.
%C Ordinal transform of A328478.
%H Antti Karttunen, <a href="/A330752/b330752.txt">Table of n, a(n) for n = 1..65537</a>
%t A111701[n_] := A111701[n] = Block[{m = n, k = 1}, While[IntegerQ[m/Prime[k]], m = m/Prime[k]; k++]; m];
%t A328478[n_] := A328478[n] = If[A111701[n] == n, n, A328478[A111701[n]]];
%t Module[{b}, b[_] = 0;
%t a[n_] := With[{t = A328478[n]}, b[t] = b[t] + 1]];
%t Array[a, 105] (* _Jean-François Alcover_, Jan 11 2022, after _Robert G. Wilson v_ in A111701 *)
%o (PARI)
%o up_to = 65537;
%o ordinal_transform(invec) = { my(om = Map(), outvec = vector(length(invec)), pt); for(i=1, length(invec), if(mapisdefined(om,invec[i]), pt = mapget(om, invec[i]), pt = 0); outvec[i] = (1+pt); mapput(om,invec[i],(1+pt))); outvec; };
%o A111701(n) = forprime(p=2, , if(n%p, return(n), n /= p));
%o A328478(n) = { my(u=A111701(n)); if(u==n, return(n), return(A328478(u))); };
%o v330752 = ordinal_transform(vector(up_to, n, A328478(n)));
%o A330752(n) = v330752[n];
%Y Cf. A111701, A328478, A330751.
%K nonn
%O 1,2
%A _Antti Karttunen_, Dec 30 2019