OFFSET
1,2
COMMENTS
The Matula-Goebel number of a rooted tree can be defined in the following recursive manner: to the one-vertex tree there corresponds the number 1; to a tree T with root degree 1 there corresponds the t-th prime number, where t is the Matula-Goebel number of the tree obtained from T by deleting the edge emanating from the root; to a tree T with root degree m>=2 there corresponds the product of the Matula-Goebel numbers of the m branches of T.
LINKS
É. Czabarka, L. Székely, and S. Wagner, The inverse problem for certain tree parameters, Discrete Appl. Math., 157, 2009, 3314-3319.
Emeric Deutsch, Tree statistics from Matula numbers, arXiv preprint arXiv:1111.4288 [math.CO], 2011.
F. Goebel, On a 1-1-correspondence between rooted trees and natural numbers, J. Combin. Theory, B 29 (1980), 141-143.
I. Gutman and A. Ivic, On Matula numbers, Discrete Math., 150, 1996, 131-142.
I. Gutman and Yeong-Nan Yeh, Deducing properties of trees from their Matula numbers, Publ. Inst. Math., 53 (67), 1993, 17-22.
D. W. Matula, A natural rooted tree enumeration by prime factorization, SIAM Rev. 10 (1968) 273.
FORMULA
Let b(n)=A184160(n) denote the number of those subtrees of the rooted tree with Matula-Goebel number n that contain the root. Then a(1)=1; if n=prime(t) (=the t=th prime), then a(n)=1+a(t)+b(t); if n=r*s (r,s,>=2), then a(n)=a(r)+a(s)+(b(r)-1)*(b(s)-1)-1. The Maple program is based on this recursive formula.
EXAMPLE
a(4) = 6 because the rooted tree with Matula-Goebel number 4 is V; it has 6 subtrees (three 1-vertex subtrees, two 1-edge subtrees, and the tree itself).
MAPLE
with(numtheory): a := proc (n) local r, s, b: r := proc (n) options operator, arrow: op(1, factorset(n)) end proc: s := proc (n) options operator, arrow: n/r(n) end proc: b := proc (n) if n = 1 then 1 elif bigomega(n) = 1 then 1+b(pi(n)) else b(r(n))*b(s(n)) end if end proc: if n = 1 then 1 elif bigomega(n) = 1 then a(pi(n))+b(pi(n))+1 else a(r(n))+a(s(n))+(b(r(n))-1)*(b(s(n))-1)-1 end if end proc: seq(a(n), n = 1 .. 80);
MATHEMATICA
r[n_] := FactorInteger[n][[1, 1]];
s[n_] := n/r[n];
b[n_] := Which[n == 1, 1, PrimeOmega[n] == 1, 1 + b[PrimePi[n]], True, b[r[n]]*b[s[n]]];
a[n_] := Which[n == 1, 1, PrimeOmega[n] == 1, a[PrimePi[n]] + b[PrimePi[n]] + 1, True, a[r[n]] + a[s[n]] + (b[r[n]] - 1)*(b[s[n]] - 1) - 1];
Table[a[n], {n, 1, 80}] (* Jean-François Alcover, Jun 24 2024, after Maple code *)
CROSSREFS
KEYWORD
nonn
AUTHOR
Emeric Deutsch, Oct 19 2011
STATUS
approved