A226247 Let S be the set of numbers defined by these rules: 0 is in S; if x is in S, then x+1 is in S, and if nonzero x is in S, then -1/x are in S. (See Comments.)
1, 1, 1, 1, 1, 2, 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, 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, 4, 1, 9, 8, 7, 6, 6, 11, 5, 14, 9, 4, 15, 11, 7, 3, 3
Offset: 1
Examples
The denominators and numerators are read from S'': 0/1, 1/1, 2/1, -1/1, 3, -1/2, 4/1, -1/3, 1/2, 5, -1/4, 2/3, 3/2, -2, ... Table begins: n | --+----------------------------------------------- 1 | 1; 2 | 1; 3 | 1, 1; 4 | 1, 2; 5 | 1, 3, 2; 6 | 1, 4, 3, 2, 1; 7 | 1, 5, 4, 3, 2, 2, 3; 8 | 1, 6, 5, 4, 3, 3, 5, 2, 5, 3; 9 | 1, 7, 6, 5, 4, 4, 7, 3, 8, 5, 2, 7, 5, 3, 1;
Links
- Clark Kimberling, Table of n, a(n) for n = 1..1000
- Peter Kagey, Illustration of first seven generations.
Crossrefs
Programs
-
Mathematica
z = 12; g[1] := {0}; g[2] := {1}; g[n_] := g[n] = DeleteCases[Flatten[Transpose[{# + 1, -1/#}]] &[g[n - 1]], Apply[Alternatives, Flatten[Map[g, Range[n - 1]]]]]; f = Flatten[Map[g, Range[z]]]; Take[Denominator[f], 100] (*A226247*) t = Take[Numerator[f], 100] (*A226248*) s[n_] := If[t[[n]] > 0, 1, 0]; u = Table[s[n], {n, 1, Length[t]}] Flatten[Position[u, 1]] (*A226249*) p = Flatten[Position[u, 0]] (*A226250*) (* Peter J. C. Moses, May 30 2013 *)
-
Python
from fractions import Fraction from itertools import count, islice def agen(): rats = [Fraction(0, 1)] seen = {Fraction(0, 1)} for n in count(1): yield from [r.denominator for r in rats] newrats = [] for r in rats: f = 1+r if f not in seen: newrats.append(1+r) seen.add(f) if r != 0: g = -1/r if g not in seen: newrats.append(-1/r) seen.add(g) rats = newrats print(list(islice(agen(), 84))) # Michael S. Branicky, Jan 17 2022
Comments