login
a(n) is the fixed point reached by iterating Euler's gradus function A275314 starting at n.
0

%I #22 Nov 05 2024 18:53:39

%S 1,2,3,3,5,3,7,3,5,3,11,5,13,3,7,5,17,3,19,7,5,5,23,3,5,3,7,5,29,3,31,

%T 3,13,3,11,7,37,7,7,3,41,3,43,13,5,3,47,7,13,3,19,7,53,3,7,3,5,3,59,5,

%U 61,3,11,7,17,3,67,19,5,5,71,3,73,7,11,5,17,5,79

%N a(n) is the fixed point reached by iterating Euler's gradus function A275314 starting at n.

%t gradus[n_] := 1 + Plus @@ ((First[#] - 1) * Last[#] & /@ FactorInteger[n]); a[n_] := FixedPoint[gradus, n]; Array[a, 100] (* _Amiram Eldar_, Nov 11 2019 *)

%o (Python)

%o from gmpy2 import is_prime

%o from sympy import factorint

%o def gradus(n):

%o sum = 0

%o factors = factorint(n)

%o for p,a in factors.items():

%o sum += (p - 1)*a

%o return sum + 1

%o if __name__ == "__main__":

%o glist = []

%o for x in range(1, 80):

%o glist.append(gradus(x))

%o while True:

%o for p in glist:

%o a = 0

%o if not is_prime(p):

%o glist = [gradus(x) for x in glist]

%o a = 1

%o if a == 0:

%o break

%o print(', '.join([str(x) for x in glist]))

%o (PARI) g(n) = my (f=factor(n)); 1+sum(k=1, #f~, f[k,2]*(f[k,1]-1))

%o a(n) = while (n!=n=g(n),); n \\ _Rémy Sigrist_, Dec 03 2019

%Y Cf. A275314, A329071.

%K nonn

%O 1,2

%A _Daniel Hoyt_, Nov 11 2019