%I #24 Dec 01 2019 06:01:42
%S 1,0,1,2,0,1,3,4,0,0,0,2,1,2,5,0,0,1,0,1,0,0,0,6,0,0,0,3,0,1,1,2,0,0,
%T 0,1,0,1,2,1,0,2,0,1,0,0,0,1,0,0,0,0,0,1,0,4,1,0,0,7,0,1,3,0,0,0,0,1,
%U 0,0,0,2,0,1,0,0,0,1,0,2,0,0,0,2,0,0,0,0,0,2
%N a(1)=1, and for n>1, a(n) is the maximum number of iterations of sigma resulting in n, starting at some integer k; or 0 if n cannot be reached from any k.
%C a(n)=0 for n in A007369 and a(n)>0 for n in A002191.
%C Records are found at indices given by A007497.
%C The above would be correct for a(1) = 0 (in a weak sense) or rather a(1) = -1 (for infinity), but as the sequence is defined, 2 & 3 do not produce a record, so the indices of records are 1, (3), 4, 7, ... = {1} U A007497 \ {2, (3)}. - _M. F. Hasler_, Nov 20 2019
%H Robert Israel, <a href="/A286011/b286011.txt">Table of n, a(n) for n = 1..10000</a>
%H M. Alekseyev, <a href="https://home.gwu.edu/~maxal/gpscripts/invphi.gp">PARI/GP Scripts for Miscellaneous Math Problems: invsigma.gp</a>, Oct. 2005
%e a(4)=2 because 4=sigma(3), but also sigma(sigma(2)) with 2 iterations.
%e a(7)=3 because 7=sigma(4), but also sigma(sigma(3)), and sigma(sigma(sigma(2))), with 3 iterations.
%p N:= 100: # to get a(1)..a(N)
%p V:= Vector(N):
%p for n from 1 to N do
%p s:= numtheory:-sigma(n);
%p if s <= N then V[s]:= max(V[s],V[n]+1) fi
%p od:
%p convert(V,list); # _Robert Israel_, May 01 2017
%o (PARI) a(n) = {if (n==1, return(1)); vn = vector(n-1, k, k+1); nb = 0; knb = 0; ok = 1; while(ok, nb++; vn = vector(#vn, k, sigma(vn[k])); svn = Set(vn); if (#select(x->x==n, svn), knb = nb); if (!#select(x->x<=n, svn), ok = 0);); knb;}
%o (PARI) apply( A286011(n)=if(n<3,2-n, n=invsigma(n), vecmax(apply(self,n))+1), [1..99]) \\ See Alekseyev-link for invsigma(). - _M. F. Hasler_, Nov 20 2019
%Y Cf. A000203, A002191, A007369, A007497, A257670.
%K nonn
%O 1,4
%A _Michel Marcus_, Apr 30 2017