2.方格计数
如图p1.png所示,在二维平面上有无数个1x1的小方格。
我们以某个小方格的一个顶点为圆心画一个半径为1000的圆。
你能计算出这个圆里有多少个完整的小方格吗?
注意:需要提交的是一个整数,不要填写任何多余内容。
【答案】:以圆的圆心为坐标原点,半径所在直线为横轴和纵轴,将圆划分为四个象限。计算出一个象限内的方块个数再*4即可。
设a,b为最远的方块的长度,r为圆的半径长。最远的方块的的顶点一定不会超过圆的半径因此a*a+b*b<=r*r。
public class Main {
public static void main(String args[]) {
int a, b;
int r = 1000;// 半径长度
int sum = 0;// 总个数
for (int i = 0; i < 1000; i++) {
for (int j = 0; j < 1000; j++) {
a = i + 1;
b = j + 1;
if (a * a + b * b <= r * r)
sum++;
}
}
System.out.println(sum * 4);
}
}
答案:3137548