【蓝桥杯】2018.B组.Java.第二题

标题:方格计数

如图p1.png所示,在二维平面上有无数个1x1的小方格。
在这里插入图片描述
我们以某个小方格的一个顶点为圆心画一个半径为1000的圆。
你能计算出这个圆里有多少个完整的小方格吗?

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

题解

以圆心为原点,建立直角坐标系。只计算第一象限,最后结果乘以4,即为所求结果。

public class Main {
    private static int count;

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int R = in.nextInt();
        for (int i = 1; i < R; i++) {
            for (int j = 1; j < R; j++) {
                if (i * i + j * j <= R * R)
                    count++;
            }
        }
        System.out.println(4*count);
    }
}

输入

1000
输出
3137548

猜你喜欢

转载自blog.csdn.net/HuaLingPiaoXue/article/details/83866623