题目:如图所示,在二维平面上有无数个1x1的小方格
我们以某个小方格的一个顶点为圆心画一个半径为1000的圆。
你能计算出这个圆里有多少个完整的小方格吗?
分析:首先由于圆的对称性,将该问题转化为圆的四分之一来解决。以圆心为原点,建立坐标轴, 如右图所示,其中黄色的点的坐标x^2+y^2<r^2即可,但同时排除黄色的点。代码如下:
public class Test2 {
public static void main(String[] args) {
int r=1000;
int a=0;
int b=0;
int count=0;
for (int i = 1; i < 1000; i++) {
for (int j = 1; j < 1000; j++) {
a=i;
b=j;
if ((a*a+b*b)<=r*r){
count++;
}
}
}
System.out.println("小方格的个数为:"+count*4);
}
答案为:3137548