login
A359857
a(1) = 1, a(2) = 2, and let i,j represent a(n-2), a(n-1) respectively. For n > 2: If only one of i,j is prime, a(n) = least novel multiple of i+j. If i,j are both prime, a(n) = least novel multiple of i*j. If both i,j are nonprime, a(n) is least novel k prime to both i and j.
1
1, 2, 3, 6, 9, 5, 14, 19, 33, 52, 7, 59, 413, 472, 11, 483, 494, 17, 511, 528, 13, 541, 7033, 7574, 15, 23, 38, 61, 99, 160, 29, 189, 218, 25, 21, 4, 31, 35, 66, 37, 103, 3811, 3914, 27, 41, 68, 109, 177, 286, 43, 329, 372, 53, 425, 478, 39, 47, 86, 133, 45, 8
OFFSET
1,2
COMMENTS
A lexicographically earliest sequence. If the "least novel" restrictions on the first two conditions are removed the result is a sequence initially identical to this one, but eventually repeat terms occur, whereas in this constrained version there are no repeats. The plots appear to distinguish three distinct zones, corresponding to the conditions of the Name. The first (upper) relates to terms following the occurrence of two primes (i*j), the middle zone relates to the occurrence of a prime and a nonprime (i+j), and the third (lowest) refers to terms following the occurrence of consecutive nonprime terms, where the coprime condition introduces the least unused numbers, which are initially (until a(25) = 15) all primes. It is not clear if every positive integer appears, but this does seem likely (note the late appearance of 4 at a(36)).
LINKS
EXAMPLE
a(3) = 3 since only one of a(1), a(2) is prime and i+j = 3 has not occurred previously.
a(4) = 6 since a(2) = 2 and a(3) = 3 are both prime and i*j = 6 has not occurred previously.
a(6) = 5 since a(4) = 6 and a(5) = 9 are both composite, and 5 is the least novel number prime to both.
PROG
(Python)
from math import gcd
from sympy import isprime
from itertools import count, islice
def agen():
i, j, pi, pj, mink, aset = 1, 2, 0, 1, 3, {1, 2}
yield from [i, j]
while True:
if pi^pj:
k, m = max(mink//(i+j), 1), i+j
while m*k in aset: k += 1
elif pi&pj:
k, m = max(mink//(i*j), 1), i*j
while m*k in aset: k += 1
else:
k, m = mink, 1
while k in aset or gcd(k, i) != 1 or gcd(k, j) != 1: k += 1
an = m*k
i, j, pi, pj = j, an, pj, int(isprime(an)); yield an; aset.add(an)
while mink in aset: mink += 1
print(list(islice(agen(), 36))) # Michael S. Branicky, Jan 16 2023
CROSSREFS
Sequence in context: A358764 A361133 A361534 * A087494 A328843 A358850
KEYWORD
nonn
AUTHOR
EXTENSIONS
a(31)=29 inserted and a(38) and beyond from Michael S. Branicky, Jan 16 2023
STATUS
approved