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.

A277272 a(n+1) is the smallest number not already in the sequence whose sum of prime factors (with repetition) shares a factor with the sum of the prime factors of a(n); a(1)=2.

Original entry on oeis.org

2, 4, 8, 3, 9, 14, 20, 24, 26, 5, 6, 21, 15, 16, 18, 25, 30, 32, 33, 7, 10, 12, 38, 27, 35, 36, 39, 42, 44, 46, 51, 49, 50, 55, 57, 11, 28, 40, 45, 48, 54, 62, 60, 64, 65, 66, 69, 13, 22, 56, 63, 74, 68, 70, 72, 77, 78, 81, 84, 85, 87, 91, 86, 92, 95, 93, 17, 52, 88, 99, 145, 98, 100, 94, 115, 102
Offset: 1

Views

Author

David James Sycamore, Oct 08 2016

Keywords

Comments

Inspired by A064413 (the EKG sequence). Conjecture: The sequence is a permutation of the natural numbers >1, in which composite terms appear once only (in irregular fashion) and the primes arise in their natural order. Immediately following the appearance of any prime p>3 the next term is q*(2^r) where q is the largest prime less than p, and r is the unique integer such that p=q+(2*r).
The above conjecture fails at a(95)=23, which appears before a(162)=19. (Also, the term appearing immediately after 37 is 218=2*109; the term immediately after 97 is 1335=3*5*89.) - Jon E. Schoenfield, Nov 05 2016

Examples

			a(2)=4 because sopf(4)=4 and is the smallest number (other than 2) to share a factor (2) with sopf(2)=2.
a(3)=8 since sopf(8)=6 and is the smallest number (other than 2 and 4) to share a factor (2) with sopf(4).
		

Crossrefs

Cf. A008472 (sopf), A064413.

Programs

  • Mathematica
    f[n_] := Flatten@ Map[ConstantArray[#1, #2] & @@ # &, FactorInteger@ n]; a = {2}; Do[k = 2; While[Nand[IntersectingQ[f[Total@ f@ k], f[Total@ f@ a[[n - 1]]]], ! MemberQ[a, k]], k++]; AppendTo[a, k], {n, 2, 76}]; a (* Michael De Vlieger, Oct 08 2016 *)
  • Python
    from math import gcd
    from sympy import factorint
    from functools import cache
    from itertools import count, islice
    @cache
    def sopfr(n): return sum(p*e for p,e in factorint(n).items())
    def agen(): # generator of terms
        aset, an, mink = {2}, 2, 3
        while True:
            yield an
            s = sopfr(an)
            an = next(k for k in count(mink) if k not in aset and gcd(sopfr(k), s)!=1)
            aset.add(an)
            while mink in aset: mink += 1
    print(list(islice(agen(), 76))) # Michael S. Branicky, Feb 21 2024