一个格点问题

我觉得下面的问题是有趣的:

问题 1. 试求欧氏平面上以原点为中心$R$为半径的开圆盘内有多少个形如$(m,n)$的整数点, 其中$m,n$都是整数?

我的想法是利用计算机来具体的计算有多少个格点.
首先, 我们可以用一个函数$F$来判断给定的$(m,n)$是否是满足条件的点, 明显$F$可取为
$$F(x,y,R)=x^2+y^2-R^2$$
如果, $F(m,n,R)<0$则$(m,n)$就是满足条件的一个点. 注意到$x,y$的范围为:$-R< x ,y< R$, 这样我们很容易用两个循环来计算给定$R$时, 满足要求的点有多少个.

Mathematica代码

可以轻易用如下代码作出图形:

这表示在0到5之间时, 函数的图像.

0到5之间的函数图像

类似可得:

5到10之间的函数图像

100到101之间的函数图像

未解决的问题

  1. 如何找到图中的间断点?
  2. 如何优化代码, 当数值很大时, 计算几乎不能进行

发表评论