|
|
A370822
|
|
Lexicographically earliest sequence of positive integers such that all equal terms appear at mutually coprime indices.
|
|
1
|
|
|
1, 1, 1, 2, 1, 3, 1, 4, 2, 5, 1, 6, 1, 7, 4, 8, 1, 9, 1, 10, 5, 11, 1, 12, 2, 13, 7, 14, 1, 15, 1, 16, 8, 17, 3, 18, 1, 19, 10, 20, 1, 21, 1, 22, 11, 23, 1, 24, 2, 25, 13, 26, 1, 27, 6, 28, 14, 29, 1, 30, 1, 31, 16, 32, 7, 33, 1, 34, 17, 35, 1, 36, 1, 37, 19
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,4
|
|
COMMENTS
|
See A279119 for the same sequence with numbers including 0.
See A055396 for a similar sequence where all equal terms share a factor > 1.
|
|
LINKS
|
|
|
FORMULA
|
|
|
EXAMPLE
|
a(4)=2 because if we had a(4)=1, then i=2 and i=4, which are not coprime indices, would have the same value 1. So a(4)=2, which is a first occurrence.
a(9)=2 because if we had a(9)=1, i=3 and i=9, would have the same value despite not being coprime indices. a(9) can be 2 because the only other index with a 2 is a(4)=2 and 4 is coprime to 9.
a(15)=4 because 4 is the smallest value such that every previous index at which a 4 occurs is coprime to i=15. In this case, 4 has only occurred at i=8 and 8 is coprime to 15.
|
|
PROG
|
(Python)
from math import gcd, lcm
from itertools import combinations as C, count, islice
def agen(): # generator of terms
yield from [1, 1, 1]
lcms = {1: 6}
for n in count(4):
an = next(an for an in count(1) if an not in lcms or gcd(lcms[an], n) == 1)
yield an
if an not in lcms: lcms[an] = n
else: lcms[an] = lcm(lcms[an], n)
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn
|
|
AUTHOR
|
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|