cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A075860 a(n) is the fixed point reached when the map x -> A008472(x) is iterated, starting from x = n, with the convention a(1)=0.

Original entry on oeis.org

0, 2, 3, 2, 5, 5, 7, 2, 3, 7, 11, 5, 13, 3, 2, 2, 17, 5, 19, 7, 7, 13, 23, 5, 5, 2, 3, 3, 29, 7, 31, 2, 3, 19, 5, 5, 37, 7, 2, 7, 41, 5, 43, 13, 2, 5, 47, 5, 7, 7, 7, 2, 53, 5, 2, 3, 13, 31, 59, 7, 61, 3, 7, 2, 5, 2, 67, 19, 2, 3, 71, 5, 73, 2, 2, 7, 5, 5, 79, 7, 3, 43, 83, 5, 13, 2, 2, 13, 89
Offset: 1

Views

Author

Joseph L. Pe, Oct 15 2002

Keywords

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)

Examples

			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.
		

Crossrefs

Cf. A008472 (sum of prime divisors of n), A029908.

Programs

  • 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 *)
  • 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
  • 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
    

Extensions

Better description from Labos Elemer, Apr 09 2003
Name clarified by Michel Marcus, Sep 02 2023