cp's OEIS Frontend

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.

Showing 1-1 of 1 results.

A341195 Squares visited by knight moves on a diagonally back and forth numbered board in two quadrants and moving to the lowest available unvisited square at every step.

Original entry on oeis.org

1, 11, 7, 2, 6, 12, 9, 3, 5, 14, 8, 4, 18, 33, 21, 29, 24, 26, 47, 10, 23, 13, 19, 16, 38, 34, 17, 15, 20, 30, 42, 56, 45, 28, 22, 31, 41, 58, 44, 32, 40, 35, 37, 62, 66, 36, 39, 60, 68, 63, 65, 98, 102, 64, 67, 61, 70, 93, 43, 55, 46, 27, 49, 52, 25, 51, 78
Offset: 1

Views

Author

Sander G. Huisman, Feb 06 2021

Keywords

Comments

Board is numbered as follows:
. 17 16 5 4 1 2 9 10 . .
. . 18 15 6 3 8 11 24 . .
. . . 19 14 7 12 23 . . .
. . . . 20 13 22 . . . .
. . . . . 21 . . . . .
. . . . . . . . . . .
This sequence is finite: At step 4408 square 4077 is visited, after which there are no unvisited squares within one knight move.

Crossrefs

Programs

  • Mathematica
    (* Version 12.0 or higher needed *)
    ClearAll[ShowRoute,MakeMove,FindSequence]
    knightjump=Select[Tuples[Range[-2,2],2],Norm[#]==Sqrt[5]&];
    ShowRoute[output_Association]:=Module[{colors},colors=(ColorData["Rainbow"]/@Subdivide[Length[output["Coordinates"]]-1.0]);
    Graphics[{Line[output["Coordinates"],VertexColors->colors],Disk[Last@output["Coordinates"],0.2],Style[Disk[Last[output["Coordinates"]]+#,0.2]&/@knightjump,Purple]}]]
    MakeMove[spiral_Association,visited_List]:=Module[{poss,hj},poss=Table[Last[Last[visited]]+hj,{hj,knightjump}];
    poss=DeleteMissing[{spiral[#],#}&/@poss,1,\[Infinity]];
    poss=Select[poss,FreeQ[visited[[All,2]],Last[#]]&];
    If[Length[poss]>0,First[TakeSmallestBy[poss,First,1]],Missing[]]]
    FindSequence[start_:{0,0},grid_]:=Module[{positions,j,next},positions={{grid[start],start}};
    PrintTemporary[Dynamic[j]];
    Do[next=MakeMove[grid,positions];
    If[next=!=Missing[],AppendTo[positions,next],Break[];],{j,\[Infinity]}];
    <|"Coordinates"->positions[[All,2]],"Indices"->positions[[All,1]]|>]
    grid=ResourceFunction["LatticePointsArrangement"]["DiagonalZigZagEastQ34",20000];
    grid=Association[MapIndexed[#1->#2[[1]]&,grid]];
    ShowRoute[fs=FindSequence[{0,0},grid]]
    fs
    fs["Indices"]
    ListPlot[fs["Indices"]]
Showing 1-1 of 1 results.