A062103 Number of paths by which an unpromoted knight (keima) of Shogi can move to various squares on infinite board, if it starts from its origin square, the second leftmost square of the back rank.
0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 14
Offset: 1
Links
- Hans L. Bodlaender, The Chess Variant Pages
- Fairbairn, Leggett et al., Information about Shogi (Japanese chess)
Programs
-
Maple
[seq(ShoogiKnightSeq(j),j=1..120)]; ShoogiKnightSeq := n -> ShoogiKnightTriangle(trinv(n-1)-1,(n-((trinv(n-1)*(trinv(n-1)-1))/2))-1); ShoogiKnightTriangle := proc(r,m) option remember; if(m < 0) then RETURN(0); fi; if(r < 0) then RETURN(0); fi; if(m > r) then RETURN(0); fi; if((1 = r) and (0 = m)) then RETURN(1); fi; RETURN(ShoogiKnightTriangle(r-3,m-2) + ShoogiKnightTriangle(r-1,m-2)); end;
-
Mathematica
trinv[n_] := Floor[(1 + Sqrt[8 n + 1])/2]; ShoogiKnightSeq[n_] := ShoogiKnightTriangle[trinv[n - 1] - 1, (n - ((trinv[n - 1]*(trinv[n - 1] - 1))/2)) - 1]; ShoogiKnightTriangle[r_, m_] := ShoogiKnightTriangle[r, m] = Which[m < 0, 0, r < 0, 0, m > r, 0, r == 1 && m == 0, 1, True, ShoogiKnightTriangle[r - 3, m - 2] + ShoogiKnightTriangle[r - 1, m - 2]]; Array[ShoogiKnightSeq, 120] (* Jean-François Alcover, Mar 06 2016, adapted from Maple *)
Comments