%I #13 Mar 07 2017 06:16:17
%S 0,2,2,2,2,2,3,3,2,2,2,3,3,3,2,4,3,3,4,3,3,2,3,4,2,3,3,4,3,3,2,5,2,3,
%T 3,4,4,4,3,4,3,4,4,3,3,3,3,5,4,3,3,4,5,4,2,5,4,3,3,4,4,2,4,6,3,3,4,4,
%U 3,4,4,5,4,4,3,5,3,4,3,5,4,3,3,5,3,4,3,4,5,4,4,4,2,3,4,6,3,5,3,4,4,4,4,5,4,5,5,5,3,3
%N Number of pendant vertices in the rooted tree with Matula-Goebel number n.
%C A pendant vertex in a tree is a vertex having degree 1.
%C 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.
%D F. Goebel, On a 1-1-correspondence between rooted trees and natural numbers, J. Combin. Theory, B 29 (1980), 141-143.
%D I. Gutman and A. Ivic, On Matula numbers, Discrete Math., 150, 1996, 131-142.
%D I. Gutman and Yeong-Nan Yeh, Deducing properties of trees from their Matula numbers, Publ. Inst. Math., 53 (67), 1993, 17-22.
%D D. W. Matula, A natural rooted tree enumeration by prime factorization, SIAM Review, 10, 1968, 273.
%H E. Deutsch, <a href="http://arxiv.org/abs/1111.4288">Tree statistics from Matula numbers</a>, arXiv preprint arXiv:1111.4288, 2011
%H <a href="/index/Mat#matula">Index entries for sequences related to Matula-Goebel numbers</a>
%F a(1)=0; a(2)=2; if n=p(t) (=the t-th prime) and t is prime, then a(n)=a(t); if n=p(t) (the t-th prime) and t is not prime, then a(n)=1+a(t); if n=rs (r,s,>=2), then a(n)=a(r)+a(s)-the number of primes in {r,s}. The Maple program is based on this recursive formula.
%e a(7)=3 because the rooted tree with Matula-Goebel number 7 is the rooted tree Y.
%e a(2^m) = m because the rooted tree with Matula-Goebel number 2^m is a star with m edges.
%p with(numtheory): a := proc (n) local r, s: r := proc (n) options operator, arrow: op(1, factorset(n)) end proc: s := proc (n) options operator, arrow: n/r(n) end proc: if n = 1 then 0 elif n = 2 then 2 elif bigomega(n) = 1 and bigomega(pi(n)) = 1 then a(pi(n)) elif bigomega(n) = 1 then a(pi(n))+1 elif bigomega(r(n)) = 1 and bigomega(s(n)) = 1 then a(r(n))+a(s(n))-2 elif min(bigomega(r(n)), bigomega(s(n))) = 1 then a(r(n))+a(s(n))-1 else a(r(n))+a(s(n)) end if end proc: seq(a(n), n = 1 .. 110);
%K nonn
%O 1,2
%A _Emeric Deutsch_, Oct 03 2011
|