Java实现第九届蓝桥杯方格计数

方格计数

题目描述
如图p1.png所示,在二维平面上有无数个1x1的小方格。

我们以某个小方格的一个顶点为圆心画一个半径为1000的圆。
你能计算出这个圆里有多少个完整的小方格吗?

注意:需要提交的是一个整数,不要填写任何多余内容。

在这里插入图片描述

PS:
以圆的圆心为坐标原点,半径所在直线为横轴和纵轴,将圆划分为四个象限。计算出一个象限内的方块个数再*4即可。

设a,b为最远的方块的长度,r为圆的半径长。最远的方块的的顶点一定不会超过圆的半径因此aa+bb<=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);
	}
}
原文地址:https://www.cnblogs.com/a1439775520/p/13077566.html