

A196047


Path length of the rooted tree with MatulaGoebel number n.


8



0, 1, 3, 2, 6, 4, 5, 3, 6, 7, 10, 5, 8, 6, 9, 4, 9, 7, 7, 8, 8, 11, 11, 6, 12, 9, 9, 7, 12, 10, 15, 5, 13, 10, 11, 8, 10, 8, 11, 9, 13, 9, 11, 12, 12, 12, 15, 7, 10, 13, 12, 10, 9, 10, 16, 8, 10, 13, 14, 11, 13, 16, 11, 6, 14, 14, 12, 11, 14, 12, 14, 9, 14, 11, 15, 9, 15, 12, 17, 10, 12, 14, 17, 10, 15, 12, 15, 13, 12, 13, 13, 13, 18, 16, 13, 8, 19, 11, 16, 14
(list;
graph;
refs;
listen;
history;
text;
internal format)



OFFSET

1,3


COMMENTS

The path length of a rooted tree is defined as the sum of distances of all nodes to the root of the tree.
The MatulaGoebel number of a rooted tree is defined in the following recursive manner: to the onevertex tree there corresponds the number 1; to a tree T with root degree 1 there corresponds the tth prime number, where t is the MatulaGoebel 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 MatulaGoebel numbers of the m branches of T.


LINKS



FORMULA

a(1)=0; if n=p(t) (= the tth prime) then a(n)=a(t)+N(t), where N(t) is the number of nodes of the rooted tree with Matula number t; if n=rs (r,s>=2), then a(n)=a(r)+a(s). The Maple program is based on this recursive formula.


EXAMPLE

a(7) = 5 because the rooted tree with MatulaGoebel number 7 is the rooted tree Y (0+1+2+2 = 5).
a(2^m) = m because the rooted tree with MatulaGoebel number 2^m is a star with m edges.


MAPLE

with(numtheory): a := proc (n) local r, s, N: r := proc (n) options operator, arrow: op(1, factorset(n)) end proc: s := proc (n) options operator, arrow: n/r(n) end proc: N := proc (n) if n = 1 then 1 elif bigomega(n) = 1 then 1+N(pi(n)) else N(r(n))+N(s(n))1 end if end proc: if n = 1 then 0 elif bigomega(n) = 1 then a(pi(n))+N(pi(n)) else a(r(n))+a(s(n)) end if end proc: seq(a(n), n = 1 .. 100);


MATHEMATICA

a[m_] := Module[{r, s, Nn},
r[n_] := FactorInteger[n][[1, 1]];
s[n_] := n/r[n];
Nn[n_] := Which[n == 1, 1,
PrimeOmega[n] == 1, 1+Nn[PrimePi[n]],
True, Nn[r[n]]+Nn[s[n]]1];
Which[m == 1, 0,
PrimeOmega[m] == 1, a[PrimePi[m]]+Nn[PrimePi[m]],
True, a[r[m]]+a[s[m]]]];


PROG

(Haskell)
import Data.List (genericIndex)
a196047 n = genericIndex a196047_list (n  1)
a196047_list = 0 : g 2 where
g x = y : g (x + 1) where
y = if t > 0 then a196047 t + a061775 t else a196047 r + a196047 s
where t = a049084 x; r = a020639 x; s = x `div` r
(PARI) NPl(n) = { if(n==1, return([1, 0]),
my(f=factor(n)~, v=Mat(vector(#f, k, NPl(primepi(f[1, k]))~)) );
return( [ 1+sum(k=1, #f, v[1, k]*f[2, k]) , sum(k=1, #f, (v[1, k]+v[2, k])*f[2, k]) ] ) )
};


CROSSREFS



KEYWORD

nonn


AUTHOR



STATUS

approved



