OFFSET
1,4
COMMENTS
The Heinz number of an integer partition (y_1,...,y_k) is prime(y_1)*...*prime(y_k).
Given a finite multiset S of positive integers greater than one, let G(S) be the simple labeled graph with vertex set S and edges between any two vertices with a common divisor greater than 1. For example, G({6,14,15,35}) is a 4-cycle. If S is the integer partition with Heinz number n, a(n) is the number of connected components of G(S).
LINKS
FORMULA
For all n, k > 0, we have a(2^n * k) = n + a(k).
For all x, y > 0, we have a(x * y) <= a(x) + a(y).
For x, y > 0 strongly coprime, we have a(x * y) = a(x) + a(y). Strongly coprime means every prime index of x is coprime to every prime index of y, where a prime index of n is a number m such that prime(m) divides n.
EXAMPLE
The a(315) = 2 connected components of {2,2,3,4} are {{3},{2,2,4}}.
MATHEMATICA
primeMS[n_]:=If[n===1, {}, Flatten[Cases[FactorInteger[n], {p_, k_}:>Table[PrimePi[p], {k}]]]];
zsm[s_]:=With[{c=Select[Tuples[Range[Length[s]], 2], And[Less@@#, GCD@@s[[#]]]>1&]}, If[c=={}, s, zsm[Sort[Append[Delete[s, List/@c[[1]]], LCM@@s[[c[[1]]]]]]]]];
Table[Length[zsm[primeMS[n]]], {n, 100}]
PROG
(PARI)
zero_first_elem_and_connected_elems(ys) = { my(cs = List([ys[1]]), i=1); ys[1] = 0; while(i<=#cs, for(j=2, #ys, if(ys[j]&&(1!=gcd(cs[i], ys[j])), listput(cs, ys[j]); ys[j] = 0)); i++); (ys); };
A007814(n) = valuation(n, 2);
A305079(n) = if(!(n%2), A007814(n)+A305079(A000265(n)), my(cs = apply(p -> primepi(p), factor(n)[, 1]~), s=0); while(#cs, cs = select(c -> c, zero_first_elem_and_connected_elems(cs)); s++); (s)); \\ Antti Karttunen, Nov 10 2018
CROSSREFS
KEYWORD
nonn
AUTHOR
Gus Wiseman, May 24 2018
EXTENSIONS
Terms and Mathematica program corrected by Gus Wiseman, Nov 10 2018
STATUS
approved