A364934 a(n+1) = 1 + number of previous terms that share a factor > 1 with a(n); a(1) = 2.
2, 2, 3, 2, 4, 5, 2, 6, 8, 8, 9, 4, 10, 12, 14, 13, 2, 14, 15, 8, 16, 17, 2, 18, 22, 20, 23, 2, 22, 23, 3, 8, 24, 29, 2, 26, 28, 28, 29, 3, 10, 32, 31, 2, 32, 33, 13, 4, 34, 36, 42, 43, 2, 38, 39, 17, 4, 40, 43, 3, 15, 21, 21, 22, 43, 4, 43, 5, 9, 19, 3, 20, 48, 58, 48, 60, 63, 28, 52, 53, 2, 51, 28
Offset: 1
Keywords
Examples
[2,*] 1 term shares a factor with 2, so a(2) = 1+1 = 2. [2,2,*] 2 terms share a factor with 2, so a(3) = 1+2 = 3. [2,2,3,*] 1 term shares a factor with 3, so a(4) = 1+1 = 2. [2,2,3,2,*] 3 terms share a factor with 2, so a(5) = 1+3 = 4. [2,2,3,2,4,*] 4 terms share a factor with 4, so a(6) = 1+4 = 5.
Links
- Rok Cestnik, Table of n, a(n) for n = 1..1000
- Rok Cestnik, a(n)/n frequency for 3*10^5 terms.
- Michael De Vlieger, Log log scatterplot of a(n), n = 1..2^16.
Programs
-
Mathematica
nn = 120; c[] := 0; s = {}; a[1] = j = 2; Do[c[j]++; If[c[j] == 1, AppendTo[s, j]]; k = 1 + Total@ Map[c[#] Boole[GCD[#, j] > 1] &, s]; Set[{a[n], j}, {k, k}], {n, 2, nn}]; Array[a, nn] (* _Michael De Vlieger, Aug 16 2023 *)
-
Python
from sympy.ntheory import primefactors a=[2]; p = [{2}]; for n in range(1,1000): a.append(sum(1 if p[-1].intersection(p[i]) else 0 for i in range(n))+1) p.append(set(primefactors(a[-1])))
-
Python
from math import gcd, prod from sympy import factorint from itertools import islice from collections import Counter def agen(): # generator of terms a=[2]; f=2; c=Counter([f]) while True: yield a[-1] a.append(1 + sum(c[fi] for fi in c if gcd(f,fi)>1)) f=prod(factorint(a[-1]).keys()) c[f] += 1 a=list(islice(agen(), 1000)) # Michael S. Branicky, Aug 16 2023
Comments