%I #48 Mar 31 2023 09:17:29
%S 2,1,1,2,1,2,1,2,2,2,1,2,1,3,3,2,1,2,1,2,3,2,1,2,2,4,2,3,1,3,1,2,4,2,
%T 3,2,1,4,3,2,1,3,1,2,3,3,1,2,2,2,3,4,1,2,3,3,3,2,1,3,1,5,3,2,3,3,1,2,
%U 5,4,1,2,1,4,3,4,3,3,1,2,2,2,1,3,3,4,3,2,1,3
%N Starting from n, repeatedly compute the sum of the prime divisors until a fixed point or 0 is reached; a(n) is the number of terms, including n.
%C a(n) is 1 + the number of iterations of n -> A008472(n) until n = A008472(n) or n=0.
%C The fixed points are in A075860.
%C For n>1 the fixed point is a prime number.
%H Robert Israel, <a href="/A321944/b321944.txt">Table of n, a(n) for n = 1..10000</a>
%e For n=21: 21->{3,7} 3+7=10, 10->{2,5} 2+5=7, 7->{7} 7; 3 terms found {21,10,7}, therefore a(21) = 3.
%e For n=2: 2->{2} 2, 1 term found {2}, therefore a(2) = 1.
%e For n=1: 1->{} 0, 2 term found {1,0}, therefore a(1) = 2.
%p f:= proc(n) option remember;
%p if isprime(n) then 1
%p else 1+procname(convert(numtheory:-factorset(n),`+`))
%p fi
%p end proc:
%p f(1):= 2:
%p map(f, [$1..100]); # _Robert Israel_, Mar 30 2020
%t s[n_] := DivisorSum[n, # &, PrimeQ[#] &]; a[1] = 2; a[n_] := Length[ FixedPointList[s, n]] - 1; Array[a, 60, 0] (* _Amiram Eldar_, Dec 12 2018 *)
%o (C++)
%o int Sum(int x){int acum=0,i=-1; for(;primes[++i]<=x;)if(!(x%primes[i])) acum+=primes[i]; return acum;}
%o int a(int n){int cn=0,last=n;while(1){cn++;n=Sum(n);if(n==last)break;last=n;} return cn;}
%o (PARI) a(n)={my(k=1); while(n&&!isprime(n), k++; n=vecsum(factor(n)[, 1])); k} \\ _Andrew Howroyd_, Dec 12 2018
%Y Cf. A008472, A075860, A002217.
%K nonn
%O 1,1
%A _Wilmer Emiro Castrillon Calderon_, Dec 12 2018