OFFSET
0,1
COMMENTS
Turns (by 90 degrees) of a dragon curve (called R5-dragon in the fxtbook, see link below) which can be rendered as follows:
[Init] Set n=0 and direction=0.
[Draw] Draw a unit line (in the current direction). Turn left/right if a(n) is zero/nonzero respectively.
[Next] Set n=n+1 and goto (draw).
With counting in radix 5: whether the lowest nonzero digit is >2 (see C++ code).
With morphism F -> F0F0F1F1F, 0 -> 0, 1 -> 1: fixed point with all 'F' omitted.
LINKS
Paolo Xausa, Table of n, a(n) for n = 0..10000
Joerg Arndt, Matters Computational (The Fxtbook), section 1.31.5 "Dragon curves based on radix-R counting", pp.95-101; image on p.96
MATHEMATICA
Nest[Flatten[ReplaceAll[#, {0->{0, 0, 1, 1, 0}, 1->{0, 0, 1, 1, 1}}]]&, {0}, 3] (* Paolo Xausa, Nov 09 2023 *)
PROG
(C++) /* CAT algorithm */
bool bit_dragon_r5_turn(ulong &x)
/* Increment the radix-5 word x and return (tr) whether
the lowest nonzero digit of the incremented word is > 2. */
{
ulong s = 0;
while ( (x & 7) == 4 ) { x >>= 3; ++s; } /* scan over nines */
bool tr = ( (x & 7) >= 2 ); /* whether digit will be > 2 */
++x; /* increment next digit */
x <<= (3*s); /* shift back */
return tr;
}
CROSSREFS
KEYWORD
nonn
AUTHOR
Joerg Arndt, Apr 15 2010
STATUS
approved