A257570 Rectangular array, read by antidiagonals: d(h,k) = distance between h and k in the tree at A232558, for h >=0, k >= 0.
0, 1, 1, 2, 0, 2, 3, 1, 1, 3, 3, 2, 0, 2, 3, 4, 2, 1, 1, 2, 4, 4, 3, 1, 0, 1, 3, 4, 5, 3, 2, 2, 2, 2, 3, 5, 4, 4, 2, 3, 0, 3, 2, 4, 4, 5, 3, 3, 1, 1, 1, 1, 3, 3, 5, 5, 4, 2, 2, 3, 0, 3, 2, 2, 4, 5, 6, 4, 3, 3, 4, 4, 4, 4, 3, 3, 4, 6, 5, 5, 3, 4, 1, 5, 0, 5
Offset: 1
Examples
Northwest corner: 0 1 2 3 3 4 4 5 4 5 5 1 0 1 2 2 3 3 4 3 4 4 2 1 0 1 1 2 2 3 2 3 3 3 2 1 0 2 3 1 2 3 4 4 3 2 1 2 0 1 3 4 1 2 2 4 3 2 3 1 0 4 5 2 3 1 d(4,6) = d(6,4) = 3 counts the edges in the path 6,3,2,4; d(46,21) = 6 counts the edges in the path 46,23,22,11,10,20,21.
Links
- Clark Kimberling, Antidiagonals n = 1..60, flattened
Programs
-
Mathematica
f[{x_, y_}] := If[EvenQ[x], {y, x/2}, {x - 1, y}]; g[{x_, y_}] := Drop[FixedPointList[f, {x, y}], -1]; s[n_] := Reverse[Select[Sort[Flatten[Select[g[{n, 0}], #[[2]] == 0 &]]], # > 0 &]]; m[h_, k_] := Max[Intersection[s[h], s[k]]]; j[h_, k_] := Join[Select[s[h], # >= m[h, k] &], Reverse[Select[s[k], # > m[h, k] &]]]; d[h_, k_] := If[k*h == 0, Length[j[h, k]], -1 + Length[j[h, k]]]; TableForm[Table[d[h, k], {h, 0, 16}, {k, 0, 16}]] (* A257570 array *) Flatten[Table[d[h - k, k], {h, 0, 20}, {k, 0, h}] (* A257570 sequence *)]
Comments