%I #43 Aug 26 2024 11:42:18
%S 2,3,4,3,5,6,5,4,7,5,8,7,5,9,7,10,9,8,7,6,11,7,12,11,10,9,8,7,13,11,9,
%T 14,13,11,8,15,13,11,9,16,15,14,13,12,11,10,9,17,13,11,18,17,16,15,14,
%U 13,12,11,10,19,17,13,11,20,19,17,16,13,11,21,19,17,15,13,22,21,20,19,18,17,16,15,14,13,12
%N Denominators of positive rationals < 1 arranged by increasing sum of numerator and denominator then by increasing numerator.
%C A023022(n) and A245678(n) give number and denominator of sum of fractions A182972(k)/a(k) such that A182972(k) + a(k) = n. - _Reinhard Zumkeller_, Jul 30 2014
%D S. Cook, Problem 511: An Enumeration Problem, Journal of Recreational Mathematics, Vol. 9:2 (1976-77), 137. Solution by the Problem Editor, JRM, Vol. 10:2 (1977-78), 122-123.
%D R. K. Guy, Unsolved Problems in Number Theory (UPINT), Section D11.
%H Reinhard Zumkeller, <a href="/A182973/b182973.txt">Table of n, a(n) for n = 1..10000</a>
%H Paul Yiu, <a href="https://web.archive.org/web/20220720212753/http://math.fau.edu/Yiu/RecreationalMathematics2003.pdf">Recreational Mathematics</a>, 24.3.1 Appendix: Two enumerations of the rational numbers in (0,1), page 633.
%H <a href="/index/Ra#rational">Index entries for sequences related to enumerating the rationals</a>
%e Positive fractions < 1 listed by increasing sum of numerator and denominator, and by increasing numerator for equal sums:
%e 1/2, 1/3, 1/4, 2/3, 1/5, 1/6, 2/5, 3/4, 1/7, 3/5, 1/8, 2/7, 4/5, 1/9, 3/7, ...
%e (this is A182972/A182973).
%t A182973list[s_] := Table[If[CoprimeQ[num, s-num], s-num, Nothing], {num, Floor[s/2]}]; Flatten[Array[A182973list, 25, 3]] (* _Paolo Xausa_, Feb 27 2024 *)
%o (Pascal) program a182973;
%o var
%o num,den,n: longint;
%o function gcd(i,j: longint):longint;
%o begin
%o repeat
%o if i>j then i:=i mod j else j:=j mod i;
%o until (i=0) or (j=0);
%o if i=0 then gcd:=j else gcd:=i;
%o end;
%o begin
%o num:=1; den:=1; n:=0;
%o repeat
%o repeat
%o inc(num); dec(den);
%o if num>=den then
%o begin
%o inc(den,num); num:=1;
%o end;
%o until gcd(num,den)=1;
%o inc(n); writeln(n,' ',den);
%o until n=100000;
%o end.
%o (Haskell)
%o a182973 n = a182973_list !! (n-1)
%o a182973_list = map snd $ concatMap q [3..] where
%o q x = [(num, den) | num <- [1 .. div x 2],
%o let den = x - num, gcd num den == 1]
%o -- _Reinhard Zumkeller_, Jul 29 2014
%o (Python)
%o from itertools import count, islice
%o from math import gcd
%o def A182973_gen(): # generator of terms
%o return (n-i for n in count(2) for i in range(1,1+(n-1>>1)) if gcd(i,n-i)==1)
%o A182973_list = list(islice(A182973_gen(),10)) # _Chai Wah Wu_, Aug 28 2023
%Y Cf. A182972 (numerators), A366191 (interleaved).
%Y Cf. A020652, A038567, A182974-A182976.
%Y Cf. A023022, A245677, A245678, A245718.
%K nonn,easy,frac,nice
%O 1,1
%A _William Rex Marshall_, Dec 16 2010