楼上的代码贴在这里(看不懂):
Manipulate[
Module[{s, x, i, j},
s = 0;
x = Table[0, {i, 1, m}, {j, 1, n}];
For[i = 1, i <= m, i++,
For[j = 1, j <= n, j++,
x[[i, j]] += (m - 1) (n - 1) +
Min[i - 1, j - 1] (Min[i - 1, n - j] + Min[j - 1, m - i]) +
Min[m - i, n - j] (Min[j - 1, m - 1] + Min[i - 1, n - j]);
s += x[[i, j]]]];
Graphics[{
Line[Table[{{j, 1}, {j, n}}, {j, m}]],
Line[Table[{{1, i}, {m, i}}, {i, n}]],
If[hint1,
{Line[
Flatten[Table[{{0, 0} + {i, j}, {1, 1} + {i, j}}, {i,
m - 1}, {j, n - 1}], 1]],
Line[
Flatten[Table[{{0, 1} + {i, j}, {1, 0} + {i, j}}, {i,
m - 1}, {j, n - 1}], 1]]},
{}
],
If[hint2,
{Line[
Flatten[Table[{{0, 0} + {i, j}, {1, 2} + {i, j}}, {i,
m - 1}, {j, n - 2}], 1]],
Line[Flatten[
Table[{{1, 0} + {i, j}, {0, 2} + {i, j}}, {i, m - 1}, {j,
n - 2}], 1]],
Line[
Flatten[Table[{{0, 1} + {i, j}, {2, 0} + {i, j}}, {i,
m - 2}, {j, n - 1}], 1]],
Line[
Flatten[Table[{{2, 1} + {i, j}, {0, 0} + {i, j}}, {i,
m - 2}, {j, n - 1}], 1]]},
{}
],
If[solution,
Table[{White, Disk[{i, j}, 0.4], Black, Circle[{i, j}, .4],
Text[Style[x[[i, j]], If[m > 8 || n > 8, 12, 20], Red], {i,
j}]}, {i, m}, {j, n}],
{}]
}, ImageSize -> {400, 400},
PlotRange -> {{.4, m + 0.6}, {0.3, n + 0.6}},
PlotLabel ->
Style[Row[{"The number of right triangles is ", NumberForm[s, 0],
"."}], RGBColor[.25, .43, .82], 20]]],
{m, 2, 10, 1, Appearance -> "Labeled"},
{n, 2, 10, 1, Appearance -> "Labeled"},
Row[{Control@{{hint1, False, "partial hint 1"}, {False, True}},
Control@{{hint2, False, "partial hint 2"}, {False, True}},
Control@{solution, {False, True}}}],
TrackedSymbols :> {n, m, solution, hint1, hint2},
Alignment -> {Center, Top}]