第九屆藍橋杯軟體類省賽 Java B組 題目及解析

有所為,無所畏發表於2020-10-03



結果填空題


1. 標題:第幾天

問題描述

2000年的1月1日,是那一年的第1天。
那麼,2000年的5月4日,是那一年的第幾天?

注意:需要提交的是一個整數,不要填寫任何多餘內容。


答案解析

方法一:最簡單的方法就是開啟電腦日曆數:125。

方法二:能被400整除,或者能被4整除但不能被100整除的就是閏年。故 31+29+31+30+4 = 125



2. 標題:方格計數

問題描述

如圖 p1.png 所示,在二維平面上有無數個 1x1 的小方格。

在這裡插入圖片描述
我們以某個小方格的一個頂點為圓心畫一個半徑為1000的圓。

你能計算出這個圓裡有多少個完整的小方格嗎?

注意:需要提交的是一個整數,不要填寫任何多餘內容。


答案解析

用方格右上角的點代表這個方格,雙重遍歷,用 i 代表 x 軸的點數不斷遞增,用 j 代表 y 軸的點數不斷遞增,只要 i 和 j 構成的矩陣面積小於 1000 * 1000,那麼就代表這個點在圓內。答案是:3137548。

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int d = 1000, ans =0;
        for (int i = 1; i <= d; i++) {
            for (int j = 1; j <= d; j++) {
                if (i*i + j*j <=d*d)
                    ans++;
            }
        }
        System.out.println(ans*4);
    }

}


3. 標題:複數冪

問題描述

設 i 為虛數單位。對於任意正整數 n,(2+3i)^n 的實部和虛部都是整數。

求 (2+3i)^123456 等於多少? 即 (2+3i) 的 123456 次冪,這個數字很大,要求精確表示。

答案寫成 “實部±虛部i” 的形式,實部和虛部都是整數(不能用科學計數法表示),中間任何地方都不加空格,實部為正時前面不加正號。

(2+3i)^2 寫成: -5+12i,(2+3i)^5 的寫成: 122-597i

注意:需要提交的是一個很龐大的複數,不要填寫任何多餘內容。


答案解析

相關文章