|
|
A196049
|
|
Number of branching nodes of the rooted tree with Matula-Goebel number n.
|
|
2
|
|
|
0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 2, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 0, 2, 1, 1, 1, 1, 1, 0, 2, 1, 1, 1, 1, 2, 1, 2, 1, 1, 2, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 2, 2, 0, 1, 1, 1, 1, 3, 1, 1, 2, 2, 1, 2, 2, 1, 2, 1, 1, 1
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,28
|
|
COMMENTS
|
A branching node of a tree is a vertex of degree at least 3.
The Matula-Goebel number of a rooted tree is 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
|
|
|
FORMULA
|
a(1)=0; if n=prime(t) and t is not the product of 2 prime factors, then a(n)=a(t); if n=prime(t) and t is the product of 2 prime factors, then a(n)=a(t)+1; if n=r*s (r prime, s>=2) and s is not a product of 2 prime factors, then a(n)=a(r)+a(s); if n=r*s (r prime, s>=2) and s is a product of 2 prime factors, then a(n)=a(r)+a(s)+1. The Maple program is based on this recursive formula.
|
|
EXAMPLE
|
a(7)=1 because the rooted tree with Matula-Goebel number 7 is the rooted tree Y.
if m>2 then a(2^m) = 1 because the rooted tree with Matula-Goebel number 2^m is a star with m edges.
|
|
MAPLE
|
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 bigomega(n) = 1 and bigomega(pi(n)) <> 2 then a(pi(n)) elif bigomega(n) = 1 then a(pi(n))+1 elif bigomega(s(n)) <> 2 then a(r(n))+a(s(n)) else a(r(n))+a(s(n))+1 end if end proc: seq(a(n), n = 1 .. 110);
|
|
MATHEMATICA
|
r[n_] := FactorInteger[n][[1, 1]];
s[n_] := n/r[n];
a[n_] := Which[n == 1, 0, PrimeOmega[n] == 1 && PrimeOmega[PrimePi[n]] != 2, a[PrimePi[n]], PrimeOmega[n] == 1, a[PrimePi[n]] + 1, PrimeOmega[s[n]] != 2, a[r[n]] + a[s[n]], True, a[r[n]] + a[s[n]] + 1];
|
|
PROG
|
(Haskell)
import Data.List (genericIndex)
a196049 n = genericIndex a196049_list (n - 1)
a196049_list = 0 : g 2 where
g x = y : g (x + 1) where
y | t > 0 = a196049 t + a064911 t
| otherwise = a196049 r + a196049 s + a064911 s
where t = a049084 x; r = a020639 x; s = x `div` r
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|