A097465 a(1) = 1; for n>1, a(n) = smallest positive integer which is not among earlier terms of sequence, is coprime to a(n-1) and is not equal to a(n-1) +- 1.
1, 3, 5, 2, 7, 4, 9, 11, 6, 13, 8, 15, 17, 10, 19, 12, 23, 14, 25, 16, 21, 26, 29, 18, 31, 20, 27, 22, 35, 24, 37, 28, 33, 38, 41, 30, 43, 32, 39, 34, 45, 47, 36, 49, 40, 51, 44, 53, 42, 55, 46, 57, 50, 59, 48, 61, 52, 63, 58, 65, 54, 67, 56, 69, 62, 71, 60, 73, 64, 75, 68, 77
Offset: 1
Keywords
Examples
a(8) = 11 because, among the positive integers not occurring earlier in the sequence (6,8,10,11,12,...), 11 is the smallest which is coprime to a(7)=9, is not a(7)+1=10 and is not a(7)-1=8.
Links
- Michael De Vlieger, Table of n, a(n) for n = 1..10000
Programs
-
Maple
A:=proc(n) option remember; local t, S; S:=({$1..1000} minus {seq(A(i),i=1..n-1)}) minus {A(n-1)-1,A(n-1)+1}; t:=min(S[]); while igcd(A(n-1),t)>1 do S:=S minus {t}; t:=min(S[]) od; t end: A(1):=1: seq(A(n), n=1..200); # Alec Mihailovs (alec(AT)mihailovs.com), Aug 23 2004
-
Mathematica
a[1] = 1; a[n_] := a[n] = Block[{t = Table[ a[i], {i, n - 1}], k = 2}, While[k == a[n - 1] - 1 || k == a[n - 1] + 1 || GCD[a[n - 1], k] != 1 || Position[t, k] != {}, k++ ]; k]; Table[ a[n], {n, 50}] (* Robert G. Wilson v, Aug 23 2004 *)
-
Python
from math import gcd from itertools import islice def agen(): # generator of terms an, aset, mink = 1, {1}, 2 while True: yield an k = mink while k in aset or gcd(an, k) != 1 or abs(k-an) == 1: k += 1 an = k aset.add(an) while mink in aset: mink += 1 print(list(islice(agen(), 72))) # Michael S. Branicky, May 02 2022
Extensions
More terms from Alec Mihailovs (alec(AT)mihailovs.com) and Robert G. Wilson v, Aug 23 2004
Comments