login

Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).

Denominators of rational numbers as generated by the rules: 1 is in S, and if nonzero x is in S, then x+1 and -1/x are in S. (See Comments.)
16

%I #32 Jan 18 2022 03:54:40

%S 1,1,1,1,2,1,1,3,2,1,4,3,2,1,1,5,4,3,2,2,3,1,6,5,4,3,3,5,2,5,3,1,7,6,

%T 5,4,4,7,3,8,5,2,7,5,3,1,1,8,7,6,5,5,9,4,11,7,3,11,8,5,2,2,9,7,5,3,3,

%U 4,1,9,8,7,6,6,11,5,14,9,4,15,11,7,3,3

%N Denominators of rational numbers as generated by the rules: 1 is in S, and if nonzero x is in S, then x+1 and -1/x are in S. (See Comments.)

%C Let S be the set of numbers defined by these rules: 1 is in S, and if nonzero x is in S, then x + 1 and -1/x are in S. Then S is the set of all rational numbers, produced in generations as follows: g(1) = (1), g(2) = (2, -1), g(3) = (3, -1/2, 0), g(4) = (4, -1/3, 1/2), ... For n > 4, once g(n-1) = (c(1), ..., c(z)) is defined, g(n) is formed from the vector (c(1)+1, -1/c(1), c(2)+1, -1/c(2), ..., c(z)+1, -1/c(z)) by deleting previously generated elements. Let S' denote the sequence formed by concatenating the generations.

%C A226130: Denominators of terms of S'

%C A226131: Numerators of terms of S'

%C A226136: Positions of positive integers in S'

%C A226137: Positions of integers in S'

%C The length of row n is given by A226275(n-1). - _Peter Kagey_, Jan 17 2022

%H Clark Kimberling, <a href="/A226130/b226130.txt">Table of n, a(n) for n = 1..1000</a>

%H <a href="/index/Fo#fraction_trees">Index entries for fraction trees</a>

%e The denominators and numerators are read from the rationals in S':

%e 1/1, 2/1, -1/1, 3/1, -1/2, 0/1, 4/1, -1/3, 1/2, ...

%e Table begins:

%e n |

%e --+-----------------------------------------------

%e 1 | 1;

%e 2 | 1, 1;

%e 3 | 1, 2, 1;

%e 4 | 1, 3, 2;

%e 5 | 1, 4, 3, 2, 1;

%e 6 | 1, 5, 4, 3, 2, 2, 3;

%e 7 | 1, 6, 5, 4, 3, 3, 5, 2, 5, 3;

%e 8 | 1, 7, 6, 5, 4, 4, 7, 3, 8, 5, 2, 7, 5, 3, 1;

%t g[1] := {1}; z = 20; g[n_] := g[n] = DeleteCases[Flatten[Transpose[{# + 1, -1/#}]]&[DeleteCases[g[n - 1], 0]], Apply[Alternatives, Flatten[Map[g, Range[n - 1]]]]]; Flatten[Map[g, Range[7]]] (* ordered rationals *)

%t Map[g, Range[z]]; Table[Length[g[i]], {i, 1, z}] (* cf. A003410 *)

%t f = Flatten[Map[g, Range[z]]];

%t Take[Denominator[f], 100] (* A226130 *)

%t Take[Numerator[f], 100] (* A226131 *)

%t p1 = Flatten[Table[Position[f, n], {n, 1, z}]] (* A226136 *)

%t p2 = Flatten[Table[Position[f, -n], {n, 0, z}]];

%t Union[p1, p2] (* A226137 *) (* _Peter J. C. Moses_, May 26 2013 *)

%o (Python)

%o from fractions import Fraction

%o from itertools import count, islice

%o def agen():

%o rats = [Fraction(1, 1)]

%o seen = {Fraction(1, 1)}

%o for n in count(1):

%o yield from [r.denominator for r in rats]

%o newrats = []

%o for r in rats:

%o f = 1+r

%o if f not in seen:

%o newrats.append(1+r)

%o seen.add(f)

%o if r != 0:

%o g = -1/r

%o if g not in seen:

%o newrats.append(-1/r)

%o seen.add(g)

%o rats = newrats

%o print(list(islice(agen(), 84))) # _Michael S. Branicky_, Jan 17 2022

%Y Cf. A226080 (rabbit ordering of positive rationals).

%Y Cf. A226130, A226131, A226136, A226137, A226275.

%Y Cf. A226247 (analogous with "0 is in S").

%K nonn,frac,tabf

%O 1,5

%A _Clark Kimberling_, May 28 2013