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.
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
Keywords
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).
Links
- Jon E. Schoenfield, Table of n, a(n) for n = 1..10000
- Jon E. Schoenfield, Magma program for generating a b-file
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
Comments