login
a(1)=2; thereafter a(n) is the smallest positive number not yet used which is compatible with the condition that a(n) is relatively prime to the next n terms.
8

%I #45 May 21 2022 06:36:13

%S 2,1,3,4,5,7,9,11,8,13,17,19,23,25,21,29,31,37,16,41,43,47,53,59,61,

%T 67,71,73,55,79,27,49,83,89,97,101,103,107,26,109,113,127,131,137,139,

%U 149,151,157,163,167,173,179,181,191,193,197,199,211,85,121,223

%N a(1)=2; thereafter a(n) is the smallest positive number not yet used which is compatible with the condition that a(n) is relatively prime to the next n terms.

%C Similar to A247665, which is obtained if the condition "smallest positive number" is changed to "smallest number >= 2".

%C It would be nice to have a proof that the numbers 6, 10, 12, 14, 15, 18, 20, 22, ... are missing from this sequence. It appears that the missing numbers are 6, 10, 12, 14, 15, 18, 20, 22, 24, 28, 30, 33, 34, 35, 36, 38, 39, 40, 42, 44, ..., but since there is no proof that any one of these is really missing, this sequence cannot yet be added to the OEIS.

%H Russ Cox, <a href="/A353730/b353730.txt">Table of n, a(n) for n = 1..100000</a> (terms 1..1000 from Alois P. Heinz; terms 1..10000 from Chai Wah Wu)

%e a(1) = 2 must be rel. prime to a(2), so a(2)=1.

%e a(2) = 1 must be rel. prime to a(3) and a(4), so we can take them to be 3 and 4.

%e a(3) = 3 must be rel. prime to a(5), a(6), so we can take them to be 5 and 7.

%e a(4) = 4 must be rel. prime to a(7), a(8), so we can take them to be 9 and 11.

%e At each step after the first, we must choose two new numbers, and we must make sure that not only are they rel. prime to a(n), they are also rel. prime to all a(i), i>n, that have been already chosen.

%o (Python)

%o from itertools import count, islice

%o from math import gcd

%o from collections import deque

%o def A353730_gen(): # generator of terms

%o aset, aqueue, c, f = {2}, deque([2]), 1, True

%o yield 2

%o while True:

%o for m in count(c):

%o if m not in aset and all(gcd(m,a) == 1 for a in aqueue):

%o yield m

%o aset.add(m)

%o aqueue.append(m)

%o if f: aqueue.popleft()

%o f = not f

%o while c in aset:

%o c += 1

%o break

%o A353730_list = list(islice(A353730_gen(),30)) # _Chai Wah Wu_, May 18-19 2022

%Y Cf. A247665; A353734 (powers of 2).

%Y For the even terms, see A354146.

%K nonn

%O 1,1

%A _N. J. A. Sloane_, May 16 2022