1. 程式人生 > >【藍橋杯】2018.B組.Java.第二題

【藍橋杯】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