1. 程式人生 > 其它 >2014年第五屆Java B組藍橋杯省賽真題

2014年第五屆Java B組藍橋杯省賽真題

技術標籤:藍橋杯藍橋杯java

這裡是藍橋杯歷年的題目專欄,將會陸續更新將往年真題以及解答釋出出來,歡迎各位小夥伴關注我吖,你們的點贊關注就是給我最好的動力!!!
每天更新一屆真題,敬請期待

藍橋杯歷年真題及詳細解答

目錄


第一題:武功祕籍

題目描述
小明到X山洞探險,撿到一本有破損的武功祕籍(2000多頁!當然是偽造的)。他注意到:書的第10頁和第11頁在同一張紙上,但第11頁和第12頁不在同一張紙上。
小明只想練習該書的第81頁到第92頁的武功,又不想帶著整本書。請問他至少要撕下多少張紙帶走?

這是個整數,請通過瀏覽器提交該數字,不要填寫任何多餘的內容。
題目分析
題目程式碼



第二題:切面條

題目描述
一根高筋拉麵,中間切一刀,可以得到2根麵條。
如果先對摺1次,中間切一刀,可以得到3根麵條。
如果連續對摺2次,中間切一刀,可以得到5根麵條。
那麼,連續對摺10次,中間切一刀,會得到多少麵條呢?
答案是個整數,請通過瀏覽器提交答案。不要填寫任何多餘的內容。
題目分析
題目程式碼



第三題:猜字母

題目描述
把abcd…s共19個字母組成的序列重複拼接106次,得到長度為2014的串。接下來刪除第1個字母(即開頭的字母a),以及第3個,第5個等所有奇數位置的字母。得到的新串再進行刪除奇數位置字母的動作。如此下去,最後只剩下一個字母,請寫出該字母。

答案是一個小寫字母,請通過瀏覽器提交答案。不要填寫任何多餘的內容。
題目分析
題目程式碼



第四題:大衍數列

題目描述
中國古代文獻中,曾記載過“大衍數列”, 主要用於解釋中國傳統文化中的太極衍生原理。它的前幾項是:0、2、4、8、12、18、24、32、40、50 …
其規律是:對偶數項,是序號平方再除2,奇數項,是序號平方減1再除2。
以下的程式碼打印出了大衍數列的前 100 項。

for(int i=1; i<100; i++)
{
    if(________________)  //填空
        System.out.println(i*i/2);
    else
        System.
out.println((i*i-1)/2); }

題目分析
題目程式碼



第五題:圓周率

題目描述
數學發展歷史上,圓周率的計算曾有許多有趣甚至是**的故事。其中許多方法都涉及無窮級數。
圖1.png中所示,就是一種用連分數的形式表示的圓周率求法。
下面的程式實現了該求解方法。實際上數列的收斂對x的初始值 並不敏感。
結果打印出圓周率近似值(保留小數點後4位,並不一定與圓周率真值吻合)。

    double x = 111; 
    for(int n = 10000; n>=0; n--){
        int i = 2 * n + 1;
        x = 2 + (i*i / x);
    }
    
    System.out.println(String.format("%.4f", ______________));

在這裡插入圖片描述

題目分析
題目程式碼



第六題:奇怪的分式

題目描述
上小學的時候,小明經常自己發明新演算法。一次,老師出的題目是:
1/4 乘以 8/5
小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (參見圖1.png)
老師剛想批評他,轉念一想,這個答案湊巧也對啊,真是見鬼!
對於分子、分母都是 1~9 中的一位數的情況,還有哪些算式可以這樣計算呢?
請寫出所有不同算式的個數(包括題中舉例的)。
顯然,交換分子分母后,例如:4/1 乘以 5/8 是滿足要求的,這算做不同的算式。
但對於分子分母相同的情況,2/2 乘以 3/3 這樣的型別太多了,不在計數之列!
在這裡插入圖片描述

注意:答案是個整數(考慮對稱性,肯定是偶數)。請通過瀏覽器提交。不要書寫多餘的內容。
題目分析
題目程式碼



第七題:撲克序列

題目描述
A A 2 2 3 3 4 4, 一共4對撲克牌。請你把它們排成一行。
要求:兩個A中間有1張牌,兩個2之間有2張牌,兩個3之間有3張牌,兩個4之間有4張牌。 請填寫出所有符合要求的排列中,字典序最小的那個。
例如:22AA3344 比 A2A23344 字典序小。當然,它們都不是滿足要求的答案。
請通過瀏覽器提交答案。“A”一定不要用小寫字母a,也不要用“1”代替。字元間一定不要留空格。
題目分析
題目程式碼



第八題:分糖果

題目描述
有n個小朋友圍坐成一圈。老師給每個小朋友隨機發偶數個糖果,然後進行下面的遊戲:
每個小朋友都把自己的糖果分一半給左手邊的孩子。
一輪分糖後,擁有奇數顆糖的孩子由老師補給1個糖果,從而變成偶數。
反覆進行這個遊戲,直到所有小朋友的糖果數都相同為止。
你的任務是預測在已知的初始糖果情形下,老師一共需要補發多少個糖果。
【格式要求】
程式首先讀入一個整數N(2<N<100),表示小朋友的人數。
接著是一行用空格分開的N個偶數(每個偶數不大於1000,不小於2)
要求程式輸出一個整數,表示老師需要補發的糖果數。
例如:輸入
3
2 2 4
程式應該輸出:
4

資源約定:
峰值記憶體消耗(含虛擬機器) < 256M
CPU消耗 < 1000ms

題目分析
題目程式碼



第九題:地宮取寶

題目描述
X 國王有一個地宮寶庫。是 n x m 個格子的矩陣。每個格子放一件寶貝。每個寶貝貼著價值標籤。地宮的入口在左上角,出口在右下角。小明被帶到地宮的入口,國王要求他只能向右或向下行走。走過某個格子時,如果那個格子中的寶貝價值比小明手中任意寶貝價值都大,小明就可以拿起它(當然,也可以不拿)。當小明走到出口時,如果他手中的寶貝恰好是k件,則這些寶貝就可以送給小明。
請你幫小明算一算,在給定的局面下,他有多少種不同的行動方案能獲得這k件寶貝。
【資料格式】
輸入一行3個整數,用空格分開:n m k (1<=n,m<=50, 1<=k<=12)
接下來有 n 行資料,每行有 m 個整數 Ci (0<=Ci<=12)代表這個格子上的寶物的價值
要求輸出一個整數,表示正好取k個寶貝的行動方案數。該數字可能很大,輸出它對 1000000007 取模的結果。

例如,輸入:
2 2 2
1 2
2 1
程式應該輸出:
2

再例如,輸入:
2 3 2
1 2 3
2 1 5
程式應該輸出:
14

資源約定:
峰值記憶體消耗(含虛擬機器) < 256M
CPU消耗 < 2000ms
題目分析
題目程式碼



第十題:矩陣翻硬幣

題目描述
小明先把硬幣擺成了一個 n 行 m 列的矩陣。隨後,小明對每一個硬幣分別進行一次 Q 操作。對第x行第y列的硬幣進行 Q 操作的定義:將所有第 ix 行,第 jy 列的硬幣進行翻轉。 其中i和j為任意使操作可行的正整數,行號和列號都是從1開始。當小明對所有硬幣都進行了一次 Q 操作後,他發現了一個奇蹟——所有硬幣均為正面朝上。 小明想知道最開始有多少枚硬幣是反面朝上的。於是,他向他的好朋友小M尋求幫助。聰明的小M告訴小明,只需要對所有硬幣再進行一次Q操作,即可恢復到最開始的狀態。然而小明很懶,不願意照做。於是小明希望你給出他更好的方法。幫他計算出答案。

【資料格式】
輸入資料包含一行,兩個正整數 n m,含義見題目描述。
輸出一個正整數,表示最開始有多少枚硬幣是反面朝上的。

【樣例輸入】
2 3

【樣例輸出】
1

【資料規模】
對於10%的資料,n、m <= 10^3;
對於20%的資料,n、m <= 10^7;
對於40%的資料,n、m <= 10^15;
對於10%的資料,n、m <= 10^1000(10的1000次方)。

資源約定:
峰值記憶體消耗(含虛擬機器) < 256M
CPU消耗 < 2000ms
題目分析
題目程式碼