OFFSET
1,1
COMMENTS
Notation: Suppose that r>=1. If p is a prime, then p' denotes the least prime > r*p(i.e., in Mathematica code, p' = NextPrime[r*p]). Define d(1,1) = 2. and q(1,1) = d'(1,1)/d(1,1) . For k>=2, define d(1,k) = least prime p > d(1,k-1) such that p'/p < d'(1,k-1)/d (1,k-1), and define q(1,k) = p'/p . This finishes defining (row 1 of V(r)) = (d'(1,k)/d(1,k)), where k>=1. For n>=2, define d(n,1) = least prime p not in {d(h,k): h = 1..n-1, k >= 1}, and for k>=2 define d(n,k) = least prime p > d (n,k-1) such that p'/p < d'(n,k-1)/d (n,k-1), and define q(n,k) = p'/p. This finishes defining all rows of V(r). The denominator array of V(r) is the array (d(n, k): n>=1, k>=1).
Every prime occurs exactly once in the denominator array of V(2).
EXAMPLE
Rows of the decreasing (2)-prime-fractions array, V(2):
(row 1) = 5/2 > 7/3 > 11/5 > 23/11 > 47/23 > 59/29 > ...
(row 2) = 17/7 > 29/13 > 37/17 > 41/19 > 79/37 > ...
(row 3) = 67/31 > 127/59 > 127/61 > 163/79 > ...
Corner of the denominator array:
2 3 5 11 23 29 41
7 13 17 19 37 43 47
31 59 61 79 103 109 151
71 101 107 149 211 257 317
263 311 389 449 479 571 577
MATHEMATICA
lows := {First /@ #, Most[FoldList[Plus, 1, Length /@ #]]} &[
Split[Rest[FoldList[Min, +\[Infinity], #]]]] &;
unSortedComplement[list1_, list2_] :=
DeleteCases[list1, Apply[Alternatives, list2]];
r = 1; (* User; put your r>=1 here. *)
rh = {};
rStart = Map[NextPrime[r*#]/# &[Prime[#]] &, Range[150]];
AppendTo[rh, lows[rStart][[1]]]; While[Last[rh] =!= {},
AppendTo[rh, Reverse[#[[lows[Denominator[#]][[2]]]]] &[
Reverse[lows[unSortedComplement[rStart, Flatten[rh]]][[1]]]]]];
rh
Denominator[rh]
Grid[Most[Denominator[rh]], Frame -> All]
(* Peter J. C. Moses, Sep 01 2025 *)
CROSSREFS
KEYWORD
AUTHOR
Clark Kimberling, Sep 03 2025
STATUS
approved
