OFFSET
1,2
COMMENTS
For n>1, the sequence reaches a fixed point, which is prime.
From Robert Israel, Mar 31 2020: (Start)
a(n) = n if n is prime.
a(n) = n/2 + 2 if n is in A108605.
a(n) = n/4 + 2 if n is in 4*A001359. (End)
LINKS
Robert Israel, Table of n, a(n) for n = 1..10000
EXAMPLE
Starting with 60 = 2^2 * 3 * 5 as the first term, add the prime factors of 60 to get the second term = 2 + 3 + 5 = 10. Then add the prime factors of 10 = 2 * 5 to get the third term = 2 + 5 = 7, which is prime. (Successive terms of the sequence will be equal to 7.) Hence a(60) = 7.
MAPLE
f:= proc(n) option remember;
if isprime(n) then n
else procname(convert(numtheory:-factorset(n), `+`))
fi
end proc:
f(1):= 0:
map(f, [$1..100]); # Robert Israel, Mar 31 2020
MATHEMATICA
f[n_] := Module[{a}, a = n; While[ !PrimeQ[a], a = Apply[Plus, Transpose[FactorInteger[a]][[1]]]]; a]; Table[f[i], {i, 2, 100}]
(* Second program: *)
a[n_] := If[n == 1, 0, FixedPoint[Total[FactorInteger[#][[All, 1]]]&, n]];
Array[a, 100] (* Jean-François Alcover, Apr 01 2020 *)
PROG
(Python)
from sympy import primefactors
def a(n, pn):
if n == pn:
return n
else:
return a(sum(primefactors(n)), n)
print([a(i, None) for i in range(1, 100)]) # Gleb Ivanov, Nov 05 2021
(PARI) fp(n, pn) = if (n == pn, n, fp(vecsum(factor(n)[, 1]), n));
a(n) = if (n==1, 0, fp(n, 0)); \\ Michel Marcus, Sep 02 2023
CROSSREFS
KEYWORD
nonn,look
AUTHOR
Joseph L. Pe, Oct 15 2002
EXTENSIONS
Better description from Labos Elemer, Apr 09 2003
Name clarified by Michel Marcus, Sep 02 2023
STATUS
approved