%I #29 Sep 08 2022 08:46:02
%S 1,1,1,4,1,1,1,8,4,1,1,4,1,1,1,16,1,4,1,4,1,1,1,8,4,1,8,4,1,1,1,32,1,
%T 1,1,36,1,1,1,8,1,1,1,4,4,1,1,16,4,4,1,4,1,8,1,8,1,1,1,4,1,1,4,64,1,1,
%U 1,4,1,1,1,72,1,1,4,4,1,1,1,16,16,1,1,4
%N First integer with same second signature as n (cf. A212172).
%C Two integers have the same second signature iff the same exponents >= 2 occur in the canonical prime factorization of each integer, regardless of the order in which they occur in each factorization.
%D M. Abramowitz and I. A. Stegun, eds., Handbook of Mathematical Functions, National Bureau of Standards Applied Math. Series 55, 1964 (and various reprintings), p. 844.
%H Jason Kimberley, <a href="/A212173/b212173.txt">Table of n, a(n) for n = 1..10000</a>
%H M. Abramowitz and I. A. Stegun, eds., <a href="http://www.convertit.com/Go/ConvertIt/Reference/AMS55.ASP">Handbook of Mathematical Functions</a>, National Bureau of Standards, Applied Math. Series 55, Tenth Printing, 1972 [alternative scanned copy].
%H Primefan, <a href="http://primefan.tripod.com/500factored.html">The First 2500 Integers Factored</a> (1st of 5 pages)
%F a(n) = A046523(A057521(n)) = A057521(A046523(n)).
%e 12 = 2^2*3 has 1 exponent >= 2 in its prime factorization, namely, 2. Hence, its second signature is {2}. The smallest number with second signature {2} is 4; hence, a(12) = 4.
%p f:= proc(n) local E,i;
%p E:= sort(select(`>`, map(t -> t[2], ifactors(n)[2]), 1),`>`);
%p mul(ithprime(i)^E[i],i=1..nops(E))
%p end proc:
%p map(f, [$1..100]); # _Robert Israel_, Jul 19 2017
%t Function[s, Sort[Apply[Join, Map[Function[k, Map[{#, First@ k} &, k]], Values@ s]]][[All, -1]]]@ KeySort@ PositionIndex@ Table[Sort@ DeleteCases[FactorInteger[n][[All, -1]], e_ /; e < 2] /. {} -> {1}, {n, 84}] (* _Michael De Vlieger_, Jul 19 2017 *)
%o (Magma) A212173 := func<n| &*[Integers()| NthPrime(j)^s[j]:j in[1..#s]] where s is Reverse(Sort([pe[2]:pe in Factorisation(n)| pe[2]gt 1]))>; [A212173(n):n in[1..85]]; // _Jason Kimberley_, Jun 14 2012
%o (Python)
%o from sympy import factorint
%o from operator import mul
%o def P(n): return sorted(factorint(n).values())
%o def a046523(n):
%o x=1
%o while True:
%o if P(n)==P(x): return x
%o else: x+=1
%o def a057521(n): return 1 if n==1 else reduce(mul, [1 if e==1 else p**e for p, e in factorint(n).items()])
%o def a(n): return a046523(a057521(n))
%o print([a(n) for n in range(1, 151)]) # _Indranil Ghosh_, Jul 19 2017
%o (PARI) a(n) = {my(sn = vecsort(select(x->(x>=2), factor(n)[,2]))); for (i=1, n, if (vecsort(select(x->(x>=2),factor(i)[,2])) == sn, return(i)););} \\ _Michel Marcus_, Jul 19 2017
%Y Cf. A212172, A046523. All terms belong to A181800.
%K nonn,easy
%O 1,4
%A _Matthew Vandermast_, Jun 03 2012