login
The OEIS Foundation is supported by donations from users of the OEIS and by a grant from the Simons Foundation.

 

Logo


Hints
(Greetings from The On-Line Encyclopedia of Integer Sequences!)
A059252 Hilbert's Hamiltonian walk on N X N projected onto x axis: m(3). 19
0, 0, 1, 1, 2, 3, 3, 2, 2, 3, 3, 2, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 2, 2, 3, 3, 3, 2, 2, 3, 4, 5, 5, 4, 4, 4, 5, 5, 6, 6, 7, 7, 7, 6, 6, 7, 7, 7, 6, 6, 5, 4, 4, 5, 5, 4, 4, 5, 6, 6, 7, 7, 8, 9, 9, 8, 8, 8, 9, 9, 10, 10, 11, 11, 11, 10, 10, 11, 12, 12, 13, 13, 14, 15, 15, 14, 14, 15, 15, 14 (list; graph; refs; listen; history; text; internal format)
OFFSET

0,5

COMMENTS

This is the X-coordinate of the n-th term in Hilbert's Hamiltonian walk A163359 and the Y-coordinate of its transpose A163357.

LINKS

Antti Karttunen, Table of n, a(n) for n = 0..65535

Joerg Arndt, Matters Computational (The Fxtbook), section 1.31.1 "The Hilbert curve", page 85, lin2hilbert.

Michael Beeler, R. William Gosper, and Richard Schroeppel, HAKMEM, MIT Artificial Intelligence Laboratory report AIM-239, February 1972.  Item 115 by Gosper, page 52.  Also HTML transcription.  (To use algorithm S or the state table, pad n with high 0-bits to a multiple of 4 bits.)

Index entries for sequences related to coordinates of 2D curves

FORMULA

Initially [m(0) = 0, m'(0) = 0]; recursion: m(2n + 1) = m(2n).m'(2n).f(m'(2n), 2n).c(m(2n), 2n + 1); m'(2n + 1) = m'(2n).f(m(2n), 2n).f(m(2n), 2n).mir(m'(2n)); m(2n) = m(2n - 1).f(m'(2n - 1), 2n - 1).f(m'(2n - 1), 2n - 1).mir(m(2n - 1)); m'(2n) = m'(2n - 1).m(2n - 1).f(m(2n - 1), 2n - 1).c(m'(2n - 1), 2n); where f(m, n) is the alphabetic morphism i := i + 2^n [example: f(0 0 1 1 2 3 3 2 2 3 3 2 1 1 0 0, 2) = 4 4 5 5 6 7 7 6 6 7 7 6 5 5 4 4]; c(m, n) is the complementation to 2^n - 1 alphabetic morphism [example: c(0 0 1 1 2 3 3 2 2 3 3 2 1 1 0 0, 3) = 7 7 6 6 5 4 4 5 5 4 4 5 6 6 7 7]; and mir(m) is the mirror operator [example: mir(0 1 1 0 0 0 1 1 2 2 3 3 3 2 2 3) = 3 2 2 3 3 3 2 2 1 1 0 0 0 1 1 0].

a(n) = A002262(A163358(n)) = A025581(A163360(n)) = A059906(A163356(n)).

EXAMPLE

[m(1)=0 0 1 1, m'(1)= 0 1 10] [m(2) =0 0 1 1 2 3 3 2 2 3 3 2 1 1 0 0, m'(2)=0 1 1 0 0 0 1 1 2 2 3 3 3 2 2 3].

PROG

(C) void h(unsigned int *x, unsigned int *y, unsigned int l){

x[0] = y[0] = 0; unsigned int *t = NULL; unsigned int n = 0, k = 0;

for(unsigned int i = 1; i<l; i++){

switch(i>>(2*n)){

case 1: x[i] = y[i&k]; y[i] = x[i&k]+(1<<n); break;

case 2: x[i] = y[i&k]+(1<<n); y[i] = x[i&k]+(1<<n); break;

case 3: x[i] = (2<<n)-1-x[i&k]; y[i] = y[k-i&k]; break;

case 4: n++; k = (1<<(2*n))-1; t=x; x=y; y=t; x[i] = 0; y[i] = 1<<n; break;

default:; }}} /* Jared Rager, Jan 09 2021 */

(C++) See Fxtbook link.

CROSSREFS

See also the y-projection, m'(3), A059253, as well as: A163539, A163540, A163542, A059261, A059285, A163547 and A163529.

Sequence in context: A096007 A269043 A309952 * A251619 A030620 A110764

Adjacent sequences:  A059249 A059250 A059251 * A059253 A059254 A059255

KEYWORD

nonn

AUTHOR

Claude Lenormand (claude.lenormand(AT)free.fr), Jan 23 2001

EXTENSIONS

Extended by Antti Karttunen, Aug 01 2009

STATUS

approved

Lookup | Welcome | Wiki | Register | Music | Plot 2 | Demos | Index | Browse | More | WebCam
Contribute new seq. or comment | Format | Style Sheet | Transforms | Superseeker | Recent
The OEIS Community | Maintained by The OEIS Foundation Inc.

License Agreements, Terms of Use, Privacy Policy. .

Last modified May 9 00:09 EDT 2021. Contains 343685 sequences. (Running on oeis4.)