This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.
%I A287824 #68 May 14 2019 11:18:39 %S A287824 0,2,1,0,1,2,2,4,3,4,3,3,2,2,1,0,1,2,2,3,3,4,3,4,4,6,5,6,5,6,4,6,5,8, %T A287824 7,9,8,10,7,8,7,10,8,9,7,8,5,5,4,6,5,6,5,6,4,4,3,4,3,3,2,2,1,0,1,2,2, %U A287824 3,3,4,3,4,4,6,5,6,5,6,4,5,5,8,7,9,8 %N A287824 a(n) = A287730(n)*A001511(n). %C A287824 For n > 0, define the sequence chf(n) of Christoffel words over an alphabet {-,+} by recursion with chf(1) = '-' and chf(2*n+0) = negate(chf(n)), chf(2*n+1) = negate(concatenate(chf(n),chf(n+1))). %C A287824 The chf(n) word has length fusc(n) = A002487(n) and splits uniquely into two parent Christoffel words - the left Christoffel word lef(n) of length l-fusc(n) = A288002(n) and the right Christoffel word rig(n) of length r-fusc(n) = A288003(n). %C A287824 For n > 0, define the lap(n) word as the chf(n) word taken to the power A001511(n), so that the factor-word chf(n) repeats lap(n) A001511(n) times. %C A287824 Consider the odd bisection CHF(n) of the chf(n) sequence. Each CHF(n) word has length A007306(n). Then the sequence lap(n) is obtained by cutting off the word lef(n) of length A288002(n) at the left side of negate(CHF(n)) and negating the first letter of the new word iff lef(n) is empty, i.e., iff A288002(n)==0. %C A287824 The length of the lap(n) word is A287896(n), the number of '-'-signs in the lap(n) word is A287823(n) and the number of '+'-signs in the lap(n) word is a(n). %C A287824 There are exactly n words of length n in the sequence lap(n). These n words lap(j) are all different with 1 <= a(j) <= n for 1 <= j <= n. %C A287824 a(n)/A287823(n) enumerates all fractions along the tree of fractions. %C A287824 a(n)/A287896(n) enumerates all proper fractions along the tree of proper fractions. %C A287824 See the Serov links and the example below. %H A287824 I. V. Serov, <a href="/A287824/b287824.txt">Table of n, a(n) for n = 1..8192</a> %H A287824 J. Berstel, A. Lauve, C. Reutenauer & F. Saliola, <a href="http://www-igm.univ-mlv.fr/~berstel/LivreCombinatoireDesMots/2008wordsbookMtlUltimate.pdf">Combinatorics on Words: Christoffel Words and Repetitions in Words</a>, 2008. %H A287824 I. V. Serov, <a href="/A287824/a287824_1.png">The tree of all fractions as sequence a(n)/A287823</a> %H A287824 I. V. Serov, <a href="/A287824/a287824_1.jpg">The tree of all proper fractions as sequence a(n)/A287896</a> %H A287824 I. V. Serov, <a href="http://www.chf.nu/CHF_DIATOMIC_ALGORITHM_BENCHMARK.pdf">CHF Diatomic Algorithm Benchmark</a> %F A287824 a(n) = A287896(n) - A287823(n). %F A287824 a(n) = (A287730(n-1) + A287730(n) + A287730(n+1))/2 - A154269(n). %F A287824 gcd(a(n), A287896(n)) == gcd(a(n), A287823(n)) == A001511(n). %F A287824 From _Yosu Yurramendi_, Apr 09 2019: (Start) %F A287824 For m >= 0, m even, 0 <= k < 2^m, a(2^m+k) = A287896(k). A287896[0] = 0 is needed. %F A287824 For m >= 0, m odd, 0 <= k < 2^m, a(2^m+k) = A287896(2^m-k). %F A287824 (End) %e A287824 n chf(n) A070939(n) A001511(n) A002487(n) lef(n) CHF(n) lap(n) a(n) %e A287824 fusc(n) %e A287824 1 '-' 1 1 1 '' '-' '-' 0 %e A287824 2 '+' 2 2 1 '' '+-' '++' 2 %e A287824 3 '+-' 2 2 2 '+' '--+' '+-' 1 %e A287824 4 '-' 3 1 1 '' '-++' '---' 0 %e A287824 5 '--+' 3 3 3 '-' '+++-' '--+' 1 %e A287824 6 '-+' 3 1 2 '-' '++-+-' '-+-+' 2 %e A287824 7 '-++' 3 1 3 '-+' '+-+--' '-++' 2 %e A287824 8 '+' 4 1 1 '' '+---' '++++' 4 %e A287824 9 '+++-' 4 4 4 '+' '----+' '+++-' 3 %e A287824 10 '++-' 4 1 3 '+' '---+--+' '++-++-' 4 %e A287824 11 '++-+-' 4 1 5 '++-' '--+--+-+' '++-+-' 3 %e A287824 12 '+-' 4 1 2 '+' '--+-+-+' '+-+-+-' 3 %e A287824 13 '+-+--' 4 2 5 '+-' '-+-+-++' '+-+--' 2 %e A287824 14 '+--' 4 1 3 '+-' '-+-++-++' '+--+--' 2 %e A287824 15 '+---' 4 1 4 '+--' '-++-+++' '+---' 1 %e A287824 16 '-' 5 1 1 '' '-++++' '-----' 0 %e A287824 17 '----+' 5 5 5 '-' '+++++-' '----+' 1 . %o A287824 (Python) %o A287824 def c(n): return 1 if n==1 else s(n/2) if n%2==0 else s((n - 1)/2) + s((n + 1)/2) %o A287824 def s(n): return 0 if n==1 else c(n/2) if n%2==0 else c((n - 1)/2) + c((n + 1)/2) %o A287824 def a001511(n): return bin(n)[2:][::-1].index("1") + 1 %o A287824 def a(n): return s(n)*a001511(n) # _Indranil Ghosh_, Jun 08 2017 %Y A287824 Cf. A001511, A287730, A287823, A002487, A070939, A287896, A154269. %K A287824 nonn,frac %O A287824 1,2 %A A287824 _I. V. Serov_, Jun 03 2017 %E A287824 Name corrected by _Indranil Ghosh_, Jun 08 2017