OFFSET
0,6
COMMENTS
Table formatted as a square array shows the top-left corner of the infinite board.
EXAMPLE
Array begins:
0 0 0 0 0 0 0 0 0 0 0 0 ...
1 1 1 1 1 1 1 1 1 1 1 ...
2 3 3 3 3 3 3 3 3 3 ...
6 9 10 10 10 10 10 10 10 ...
15 25 29 30 30 30 30 30 ...
40 69 84 89 90 90 90 ...
109 193 242 263 269 270 ...
302 544 698 774 ...
846 1544 2016 ...
2390 4406 ...
6796 ...
MAPLE
[seq(CPTSeq(j), j=0..91)]; CPTSeq := n -> ChessPawnTriangle( (1+(n-((trinv(n)*(trinv(n)-1))/2))), ((((trinv(n)-1)*(((1/2)*trinv(n))+1))-n)+1) );
ChessPawnTriangle := proc(r, c) option remember; if(r < 2) then RETURN(0); fi; if(c < 1) then RETURN(0); fi; if(2 = r) then RETURN(1); fi; if(4 = r) then RETURN(1+ChessPawnTriangle(r-1, c-1)+ChessPawnTriangle(r-1, c)+ChessPawnTriangle(r-1, c+1));
else RETURN(ChessPawnTriangle(r-1, c-1)+ChessPawnTriangle(r-1, c)+ChessPawnTriangle(r-1, c+1)); fi; end;
MATHEMATICA
trinv[n_] := Floor[(1 + Sqrt[8 n + 1])/2];
CPTSeq[n_] := ChessPawnTriangle[(1 + (n - ((trinv[n]*(trinv[n] - 1))/2))), ((((trinv[n] - 1)*(((1/2)*trinv[n]) + 1)) - n) + 1)];
ChessPawnTriangle[r_, c_] := ChessPawnTriangle[r, c] = Which[r < 2, 0, c < 1, 0, 2 == r, 1, 4 == r, 1 + ChessPawnTriangle[r - 1, c - 1] + ChessPawnTriangle[r - 1, c] + ChessPawnTriangle[r - 1, c + 1], True, ChessPawnTriangle[r - 1, c - 1] + ChessPawnTriangle[r - 1, c] + ChessPawnTriangle[r - 1, c + 1]];
Table[CPTSeq[j], {j, 0, 91}] (* Jean-François Alcover, Mar 06 2016, adapted from Maple *)
CROSSREFS
KEYWORD
nonn,tabl
AUTHOR
Antti Karttunen, May 30 2001
EXTENSIONS
Edited by N. J. A. Sloane, May 22 2014
STATUS
approved