%I #15 Mar 18 2023 16:27:51
%S 1,4,8,2,12,3,24,16,21,7,27,48,32,30,15,5,34,64,36,18,54,41,80,120,45,
%T 59,104,150,75,123,91,142,194,97,151,206,262,131,189,248,308,77,139,
%U 202,266,133,199,334,167,237,380,95,169,244,320,158,79,82,164,86
%N A133058 with duplicates removed.
%H Dana G. Korssjoen, Biyao Li, Stefan Steinerberger, Raghavendra Tripathi, and Ruimin Zhang, <a href="https://arxiv.org/abs/2012.04625">Finding structure in sequences of real numbers via graph theory: a problem list</a>, arXiv:2012.04625 [math.CO], Dec 08, 2020. See Section 2.6.
%t DeleteDuplicates@ Block[{a = {1, 1}, k = 1}, Do[AppendTo[a, If[# == 1, a[[-1]] + i + 1, a[[-1]]/#]] &@ GCD[a[[-1]], i], {i, 2, 80}]; a] (* _Michael De Vlieger_, Dec 09 2020 *)
%o (PARI) lista(nn) = my(v=List([1]), x=1, y); print1(1); for(n=2, nn, if(!setsearch(Set(v), x=if(1==y=gcd(x, n), x+n+1, x/y)), print1(", ", x); listput(v, x))); \\ _Jinyuan Wang_, Dec 12 2020
%o (Python)
%o from math import gcd
%o from itertools import count, islice
%o def A339571_gen(): # generator of terms
%o a, aset = 1, {1}
%o yield 1
%o for n in count(2):
%o a = a+n+1 if (b:=gcd(a,n)) == 1 else a//b
%o if a not in aset:
%o aset.add(a)
%o yield a
%o A339571_list = list(islice(A339571_gen(),30)) # _Chai Wah Wu_, Mar 18 2023
%Y Cf. A133058.
%K nonn
%O 1,2
%A _N. J. A. Sloane_, Dec 09 2020
%E More terms from _Jinyuan Wang_, Dec 12 2020