login
The OEIS is supported by the many generous donors to the OEIS Foundation.

 

Logo
Hints
(Greetings from The On-Line Encyclopedia of Integer Sequences!)
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. 6

%I #23 May 06 2022 21:38:36

%S 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,

%T 27,22,35,24,37,28,33,38,41,30,43,32,39,34,45,47,36,49,40,51,44,53,42,

%U 55,46,57,50,59,48,61,52,63,58,65,54,67,56,69,62,71,60,73,64,75,68,77

%N 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.

%C A permutation of the positive integers. [This follows easily by standard arguments. One shows that all primes appear. If a number k is missing, find a prime term P that is much greater than k. Then the term following P will be k. Contradiction. - _N. J. A. Sloane_, May 06 2022]

%H Michael De Vlieger, <a href="/A097465/b097465.txt">Table of n, a(n) for n = 1..10000</a>

%e 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.

%p 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

%t 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 *)

%o (Python)

%o from math import gcd

%o from itertools import islice

%o def agen(): # generator of terms

%o an, aset, mink = 1, {1}, 2

%o while True:

%o yield an

%o k = mink

%o while k in aset or gcd(an, k) != 1 or abs(k-an) == 1: k += 1

%o an = k

%o aset.add(an)

%o while mink in aset: mink += 1

%o print(list(islice(agen(), 72))) # _Michael S. Branicky_, May 02 2022

%Y Cf. A093714, A097467, A353711.

%K nonn

%O 1,2

%A _Leroy Quet_, Aug 23 2004

%E More terms from Alec Mihailovs (alec(AT)mihailovs.com) and _Robert G. Wilson v_, Aug 23 2004

Lookup | Welcome | Wiki | Register | Music | Plot 2 | Demos | Index | Browse | More | WebCam
Contribute new seq. or comment | Format | Style Sheet | Transforms | Superseeker | Recents
The OEIS Community | Maintained by The OEIS Foundation Inc.

License Agreements, Terms of Use, Privacy Policy. .

Last modified July 25 03:25 EDT 2024. Contains 374586 sequences. (Running on oeis4.)