四、题目:方格计数
如图p1.png所示,在二维平面上有无数个1x1的小方格。
我们以某个小方格的一个顶点为圆心画一个半径为1000的圆。
你能计算出这个圆里有多少个完整的小方格吗?
注意:需要提交的是一个整数,不要填写任何多余内容

- 分析思路:

1.以原点为圆心,半径为1000,则x轴范围(-1000,1000),y轴范围(-1000,1000)
for(x:-1000~1000)
for(x:-1000~1000)
if(x^2+y ^2<=1000 ^2)
需要注意轴上的点是不能形成方格的(图中橘色的点)
2.可以将圆分成4等分,也就是4个卦限,选择其中一个算方格数,最后乘以4
以第一卦限为例
代码1:
public class Fanggenum {
public static void main(String[] args) {
int r=0;
for(int i=-1000;i<=1000;i++)

本文探讨了在二维平面上,以一个小方格顶点为圆心,半径为1000的圆内完整小方格数量的计算方法。通过分析圆的覆盖范围和排除轴上点的影响,提出了三种不同的算法实现,包括全范围遍历、四分之一区域遍历和优化后的高效算法。
最低0.47元/天 解锁文章
882





