A318883 Number of transient terms if unitary-proper-divisor-sum-function f(x) = A063919(x) is iterated and the initial value is n.
0, 1, 1, 1, 1, 0, 1, 1, 1, 2, 1, 2, 1, 3, 2, 1, 1, 3, 1, 3, 2, 4, 1, 3, 1, 2, 1, 3, 1, 0, 1, 1, 3, 4, 2, 4, 1, 5, 2, 4, 1, 0, 1, 2, 3, 3, 1, 4, 1, 4, 3, 4, 1, 0, 2, 2, 2, 2, 1, 0, 1, 5, 2, 1, 2, 2, 1, 5, 2, 6, 1, 4, 1, 5, 2, 4, 2, 1, 1, 5, 1, 3, 1, 5, 2, 4, 4, 4, 1, 0, 3, 4, 3, 5, 2, 5, 1, 5, 3, 1, 1, 1, 1, 5, 5
Offset: 1
Keywords
Examples
For n = 1, A063919(1) = 1, that is, we immediately end with a terminal cycle (of length 1 in this case), thus there are no transient part, and a(1) = 0. For n = 2, A063919(2) = 1, and A063919(1) = 1, so we end with a terminal cycle after a transient part of length 1, thus a(2) = 1. For n = 30, A063919(30) = 42, A063919(42) = 54, A063919(54) = 30, thus a(30) = a(42) = a(54) = 0, as 30, 42 and 54 are all contained in their own terminal cycle, without a preceding transient part. For n = 1506, the iteration-list is {1506, 1518, 1938, 2382, 2394, 2406, [2418, 2958, 3522, 3534, 4146, 4158, 3906, 3774, 4434, 4446, 3954, 3966, 3978, 3582, 2418, ..., ad infinitum]}. After a transient of length 6 the iteration ends in a cycle of length 14, thus a(1506) = 6. If a(n) = 0, then n is a term in an attractor set like A002827, A063991, A097024, A097030.
Links
- Antti Karttunen, Table of n, a(n) for n = 1..87360
Programs
-
Mathematica
a063919[1] = 1; (* function a[] in A063919 by Jean-François Alcover *) a063919[n_] := Total[Select[Divisors[n], GCD[#, n/#]==1&]]-n/;n>1 transient[k_] := Module[{iter=NestWhileList[a063919, k, UnsameQ, All]}, Position[iter, Last[iter]][[1, 1]]]-1 a318883[n_] := Map[transient, Range[n]] a318883[105] (* Hartmut F. W. Hoft, Jan 25 2024 *)
-
PARI
A034460(n) = (sumdivmult(n, d, if(gcd(d, n/d)==1, d))-n); \\ From A034460 A063919(n) = if(1==n,n,A034460(n)); A318883(n) = { my(visited = Map()); for(j=1, oo, if(mapisdefined(visited, n), return(mapget(visited, n)-1), mapput(visited, n, j)); n = A063919(n)); }; \\ Or by using lists: pil(item,lista) = { for(i=1,#lista,if(lista[i]==item,return(i))); (0); }; A318883(n) = { my(visited = List([]), k); for(j=1, oo, if((k = pil(n,visited)) > 0, return(k-1)); listput(visited, n); n = A063919(n)); };
Comments