刚才在这里看到了如题所说的图像,立即想到用 Mathematica 验证一下。我选出了几个个人比较感兴趣的 k ,再用一句话便可输出所有对应 k 的图像:
kArray = {2, 3, 4, 6, 8, 10, 12, 14, 16, 18, 20, 36, 50};
For[i = 1, i <= Length[kArray], i++,
Export["F:\" <> ToString[kArray[[i]]] <> ".png",
ArrayPlot[Table[Boole[Length[Divisors[x*y]] == kArray[[i]]], {x, 1, 400}, {y, 1, 400}],
PixelConstrained -> {1, 1}, Frame -> False]]];
当 k=2 时,由于只有素数才有两个约数,因此所有点都是形如 (p, 1) 或者 (1, p) 的点,其中 p 为某个素数: