

A196048


External path length of the rooted tree with MatulaGoebel number n.


6



0, 1, 2, 2, 3, 3, 4, 3, 4, 4, 4, 4, 5, 5, 5, 4, 6, 5, 6, 5, 6, 5, 6, 5, 6, 6, 6, 6, 6, 6, 5, 5, 6, 7, 7, 6, 7, 7, 7, 6, 7, 7, 8, 6, 7, 7, 7, 6, 8, 7, 8, 7, 8, 7, 7, 7, 8, 7, 8, 7, 8, 6, 8, 6, 8, 7, 9, 8, 8, 8, 8, 7, 9, 8, 8, 8, 8, 8, 7, 7, 8, 8, 8, 8, 9, 9, 8, 7, 9, 8, 9, 8, 7, 8, 9, 7, 8, 9, 8, 8, 9, 9, 9, 8, 9, 9, 10, 8, 8, 8
(list;
graph;
refs;
listen;
history;
text;
internal format)



OFFSET

1,3


COMMENTS

The external path length of a rooted tree is defined as the sum of the distances of all leaves to the root.
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; a(2)=1; if n=prime(t) (the tth prime; t>1) then a(n)=a(t)+LV(t), where LV(t) is the number of leaves in 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.
a(2^m) = m because the rooted tree with MatulaGoebel number 2^m is a star with m edges.


EXAMPLE

a(7)=4 because the rooted tree with MatulaGoebel number 7 is the rooted tree Y (2+2=4).


MAPLE

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


MATHEMATICA

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


PROG

(Haskell)
import Data.List (genericIndex)
a196048 n = genericIndex a196048_list (n  1)
a196048_list = 0 : 1 : g 3 where
g x = y : g (x + 1) where
y = if t > 0 then a196048 t + a109129 t else a196048 r + a196048 s
where t = a049084 x; r = a020639 x; s = x `div` r
(PARI) LEpl(n) = { if(n==1, return([1, 0]),
my(f=factor(n)~, l, e, le);
foreach(f, p,
le=LEpl(primepi(p[1]));
l+=le[1]*p[2];
e+=(le[1]+le[2])*p[2];
);
return([l, e]) )
};


CROSSREFS



KEYWORD

nonn


AUTHOR



EXTENSIONS



STATUS

approved



