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
Reinhard Zumkeller, Table of n, a(n) for n = 1..10000
Emeric Deutsch, Rooted tree statistics from Matula numbers, 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
a(1)=1; if n is t-th prime, then a(n)=1+a(t); if n is composite, then a(n) = 1+Sum_{p|n}(a(p)-1), where summation is over the distinct prime divisors of n.
EXAMPLE
a(4)=2 because the rooted tree with Matula-Goebel number 4 is V; adding an edge at either of the two leaves yields the same rooted tree.
a(5)=4 because the rooted tree with Matula-Goebel number 5 is the path on 4 vertices; adding one edge at any of the vertices yields a new rooted tree.
a(987654321)=18 (reader may verify this on Fig. 2 of the Deutsch paper).
MAPLE
with(numtheory): a := proc (n) local FS: FS := proc (n) options operator, arrow: factorset(n) end proc: if n = 1 then 1 elif bigomega(n) = 1 then 1+a(pi(n)) else 1+add(a(FS(n)[j])-1, j = 1 .. nops(FS(n))) end if end proc: seq(a(n), n = 1 .. 130);
MATHEMATICA
a[n_] := Which[n == 1, 1, PrimeQ[n], 1 + a[PrimePi[n]], True, 1 + Total[a[#] - 1& /@ FactorInteger[n][[All, 1]]]];
Table[a[n], {n, 1, 100}] (* Jean-François Alcover, Jun 25 2024 *)
PROG
(Haskell)
import Data.List (genericIndex)
a214567 n = genericIndex a214567_list (n - 1)
a214567_list = 1 : g 2 where
g x = y : g (x + 1) where
y | t > 0 = a214567 t + 1
| otherwise = 1 + sum (map ((subtract 1) . a214567) $ a027748_row x)
where t = a049084 x
-- Reinhard Zumkeller, Sep 03 2013
(PARI) a(n) = 1 + vecsum([self()(primepi(p)) |p<-factor(n)[, 1]]); \\ Kevin Ryde, Oct 19 2022
CROSSREFS
KEYWORD
nonn
AUTHOR
Emeric Deutsch, Jul 25 2012
STATUS
approved