cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A353730 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.

Original entry on oeis.org

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, 67, 71, 73, 55, 79, 27, 49, 83, 89, 97, 101, 103, 107, 26, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 85, 121, 223
Offset: 1

Views

Author

N. J. A. Sloane, May 16 2022

Keywords

Comments

Similar to A247665, which is obtained if the condition "smallest positive number" is changed to "smallest number >= 2".
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.

Examples

			a(1) = 2 must be rel. prime to a(2), so a(2)=1.
a(2) = 1 must be rel. prime to a(3) and a(4), so we can take them to be 3 and 4.
a(3) = 3 must be rel. prime to a(5), a(6), so we can take them to be 5 and 7.
a(4) = 4 must be rel. prime to a(7), a(8), so we can take them to be 9 and 11.
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.
		

Crossrefs

Cf. A247665; A353734 (powers of 2).
For the even terms, see A354146.

Programs

  • Python
    from itertools import count, islice
    from math import gcd
    from collections import deque
    def A353730_gen(): # generator of terms
        aset, aqueue, c, f = {2}, deque([2]), 1, True
        yield 2
        while True:
            for m in count(c):
                if m not in aset and all(gcd(m,a) == 1 for a in aqueue):
                    yield m
                    aset.add(m)
                    aqueue.append(m)
                    if f: aqueue.popleft()
                    f = not f
                    while c in aset:
                        c += 1
                    break
    A353730_list = list(islice(A353730_gen(),30)) # Chai Wah Wu, May 18-19 2022