A129700 Number of n-step self-avoiding paths on octant grid starting at octant origin.
1, 1, 2, 3, 8, 14, 36, 70, 177, 372, 942, 2056, 5222, 11736, 29878, 68576, 175038, 408328, 1044533, 2468261, 6326688, 15107015, 38791865, 93432564, 240296399, 583001850, 1501520574, 3665682736, 9452895693, 23201772603, 59899677902
Offset: 1
Links
- A. J. Guttmann and G. M. Torrie, Critical behavior at an edge for the SAW and Ising model, J. Phys. A 17 (1984), 3539-3552.
- Sean A. Irvine, Java program (github)
Crossrefs
Cf. A038373.
Programs
-
C
#include
#include #define GRIDSIZE 20 void Recur(int level, int maxlevel, int rgBd[][GRIDSIZE], int i, int j, int rgCt[]) { if (i < 0 || j < 0 || i >= GRIDSIZE || j >= GRIDSIZE || level >= maxlevel || j > i || rgBd[i][j] != 0) return; rgCt[level] += 1; rgBd[i][j] = 1; Recur(level + 1, maxlevel, rgBd, i + 1, j, rgCt); Recur(level + 1, maxlevel, rgBd, i - 1, j, rgCt); Recur(level + 1, maxlevel, rgBd, i, j + 1, rgCt); Recur(level + 1, maxlevel, rgBd, i, j - 1, rgCt); rgBd[i][j] = 0; } int main(int argc, char **argv) { int rgBd[GRIDSIZE][GRIDSIZE] = {0}; int rgCt[GRIDSIZE] = {0}; int maxlevel = GRIDSIZE; if (argc > 1) { maxlevel = atoi(argv[1]); if (maxlevel < 0 || maxlevel > GRIDSIZE) { printf("Bad argument"); return 0; } } Recur(0, maxlevel, rgBd, 0, 0, rgCt); for (int i = 0; i < maxlevel; i++) printf("%2d ", rgCt[i]); return 0; }
Extensions
a(28)-a(31) from Sean A. Irvine, Jul 03 2021
Comments