2012年 藍橋杯預賽 java 本科
考生須知:
l 考試時間為4小時。
l 參賽選手切勿修改機器自動生成的【考生文件夾】的名稱或刪除任何自動生成的文件或目錄,否則會干擾考試系統正確采集您的解答。
l 參賽選手切勿在提交的代碼中書寫“姓名”、“考號”,“院校名”等身份信息或其它與競賽題目無關的內容,否則成績無效。
l 試題包含三種類型:“結果填空”、“代碼填空”與“程序設計”,總計100分。
結果填空:3+5+4+9 = 21分
代碼填空:5+6+8 = 19 分
程序設計:11+21+28 = 60分
結果填空要求參賽選手根據題目描述直接填寫結果。求解方式不限。不要求源代碼。
把答案存入【考生文件夾】下對應題號的“解答.txt”中即可。
代碼填空題要求參賽選手在弄清給定代碼工作原理的基礎上填寫缺失的部分,使得程序邏輯正確、完整。所填寫的代碼不超過一條語句(即中間不能出現分號)。
把填空的答案(僅填空處的答案,不包括題面已存在的代碼)存入【考生文件夾】下對應題號的“解答.txt”中即可。
編程題要求選手設計的程序對于給定的輸入能給出正確的輸出結果。考生的程序只有能運行出正確結果的時候才有機會得分。注意:在評卷時使用的輸入數據與試卷中給出的實例數據可能是不同的。選手的程序必須是通用的,不能只對試卷中給定的數據有效。
對每個編程題目,要求考生把所有類寫在一個文件中。調試好后,存入與【考生文件夾】下對應題號的“解答.txt”中即可,相關的工程文件不要拷入。請不要使用package語句。
源程序中只能出現JDK1.5中允許的語法或調用。不能使用1.6或更高版本。
1.結果填空 (滿分3分)
題目在【考生文件夾】下對應題號的“題目.rar”中,請先解壓該文件。
解壓密碼以考場公布為準。
把答案存入【考生文件夾】下對應題號的“解答.txt”中即可。直接寫在題面中不能得分。如果有多個答案,每個答案占一行。
2.結果填空 (滿分5分)
題目在【考生文件夾】下對應題號的“題目.rar”中,請先解壓該文件。
解壓密碼以考場公布為準。
把答案存入【考生文件夾】下對應題號的“解答.txt”中即可。直接寫在題面中不能得分。如果有多個答案,每個答案占一行。
3.結果填空 (滿分4分)
題目在【考生文件夾】下對應題號的“題目.rar”中,請先解壓該文件。
解壓密碼以考場公布為準。
把答案存入【考生文件夾】下對應題號的“解答.txt”中即可。直接寫在題面中不能得分。如果有多個答案,每個答案占一行。
4.結果填空 (滿分9分)
題目在【考生文件夾】下對應題號的“題目.rar”中,請先解壓該文件。
解壓密碼以考場公布為準。
把答案存入【考生文件夾】下對應題號的“解答.txt”中即可。直接寫在題面中不能得分。如果有多個答案,每個答案占一行。
5.代碼填空 (滿分5分)
題目在【考生文件夾】下對應題號的“題目.rar”中,請先解壓該文件。
解壓密碼以考場公布為準。
仔細閱讀和調試題目提供的源代碼,根據要求填寫缺失的代碼部分。
注意:請把填空的答案(僅填空處的答案,不包括題面)存入【考生文件夾】下對應題號的“解答.txt”中即可。直接寫在題面中不能得分。
填空內容不能超過一條語句(即中間不會含有分號)。
6.代碼填空 (滿分6分)
題目在【考生文件夾】下對應題號的“題目.rar”中,請先解壓該文件。
解壓密碼以考場公布為準。
仔細閱讀和調試題目提供的源代碼,根據要求填寫缺失的代碼部分。
注意:請把填空的答案(僅填空處的答案,不包括題面)存入【考生文件夾】下對應題號的“解答.txt”中即可。直接寫在題面中不能得分。
填空內容不能超過一條語句(即中間不會含有分號)。
7.代碼填空 (滿分8分)
題目在【考生文件夾】下對應題號的“題目.rar”中,請先解壓該文件。
解壓密碼以考場公布為準。
仔細閱讀和調試題目提供的源代碼,根據要求填寫缺失的代碼部分。
注意:請把填空的答案(僅填空處的答案,不包括題面)存入【考生文件夾】下對應題號的“解答.txt”中即可。直接寫在題面中不能得分。
填空內容不能超過一條語句(即中間不會含有分號)。
8.程序設計(滿分11分)
題目在考生文件夾下對應題號的“題目.rar”中,請先解壓該文件。
解壓密碼以考場公布為準。
仔細閱讀題目要求,根據題意編寫調試代碼。
要求考生把所有類寫在一個文件中。調試好后,存入與【考生文件夾】下對應題號的“解答.txt”中即可。相關的工程文件不要拷入。請不要使用package語句。
另外,源程序中只能出現JDK1.5中允許的語法或調用。不能使用1.6或更高版本。
9.程序設計(滿分21分)
題目在考生文件夾下對應題號的“題目.rar”中,請先解壓該文件。
解壓密碼以考場公布為準。
仔細閱讀題目要求,根據題意編寫調試代碼。
要求考生把所有類寫在一個文件中。調試好后,存入與【考生文件夾】下對應題號的“解答.txt”中即可。相關的工程文件不要拷入。請不要使用package語句。
另外,源程序中只能出現JDK1.5中允許的語法或調用。不能使用1.6或更高版本。
10. 程序設計(滿分28分)
題目在考生文件夾下對應題號的“題目.rar”中,請先解壓該文件。
解壓密碼以考場公布為準。
仔細閱讀題目要求,根據題意編寫調試代碼。
要求考生把所有類寫在一個文件中。調試好后,存入與【考生文件夾】下對應題號的“解答.txt”中即可。相關的工程文件不要拷入。請不要使用package語句。
另外,源程序中只能出現JDK1.5中允許的語法或調用。不能使用1.6或更高版本。
1.
黃金分割數0.618與美學有重要的關系。舞臺上報幕員所站的位置大約就是舞臺寬度的0.618處,墻上的畫像一般也掛在房間高度的0.618處,甚至股票的波動據說也能找到0.618的影子....
黃金分割數是個無理數,也就是無法表示為兩個整數的比值。0.618只是它的近似值,其真值可以通過對5開方減去1再除以2來獲得,我們取它的一個較精確的近似值:0.618034
有趣的是,一些簡單的數列中也會包含這個無理數,這很令數學家震驚!
1 3 4 7 11 18 29 47 .... 稱為“魯卡斯隊列”。它后面的每一個項都是前邊兩項的和。
如果觀察前后兩項的比值,即:1/3,3/4,4/7,7/11,11/18 ... 會發現它越來越接近于黃金分割數!
你的任務就是計算出從哪一項開始,這個比值四舍五入后已經達到了與0.618034一致的精度。
請寫出該比值。格式是:分子/分母。比如:29/47
答案寫在“解答.txt”中,不要寫在這里!
2. 有一群海盜(不多于20人),在船上比拼酒量。過程如下:打開一瓶酒,所有在場的人平分喝下,有幾個人倒下了。再打開一瓶酒平分,又有倒下的,再次重復...... 直到開了第4瓶酒,坐著的已經所剩無幾,海盜船長也在其中。當第4瓶酒平分喝下后,大家都倒下了。
等船長醒來,發現海盜船擱淺了。他在航海日志中寫到:“......昨天,我正好喝了一瓶.......奉勸大家,開船不喝酒,喝酒別開船......”
請你根據這些信息,推斷開始有多少人,每一輪喝下來還剩多少人。
如果有多個可能的答案,請列出所有答案,每個答案占一行。
格式是:人數,人數,...
例如,有一種可能是:20,5,4,2,0
答案寫在“解答.txt”中,不要寫在這里!
3. 漢諾塔(又稱河內塔)問題是源于印度一個古老傳說的益智玩具。 大梵天創造世界的時候做了三根金剛石柱子,在一根柱子上從下往上按照大小順序摞著64片黃金圓盤。大梵天命令婆羅門把圓盤從下面開始按大小順序重新擺放在另一根柱子上(可以借助第三根柱子做緩沖)。并且規定,在小圓盤上不能放大圓盤,在三根柱子之間一次只能移動一個圓盤。
如圖【1.jpg】是現代“山寨”版的該玩具。64個圓盤太多了,所以減為7個,金剛石和黃金都以木頭代替了......但道理是相同的。

據說完成大梵天的命令需要太多的移動次數,以至被認為完成之時就是世界末日!
你的任務是精確計算出到底需要移動多少次。
很明顯,如果只有2個圓盤,需要移動3次。
圓盤數為3,則需要移動7次。
那么64個呢? 答案寫在“解答.txt”中,不要寫在這里!
4. 某電視臺舉辦了低碳生活大獎賽。題目的計分規則相當奇怪:
每位選手需要回答10個問題(其編號為1到10),越后面越有難度。答對的,當前分數翻倍;答錯了則扣掉與題號相同的分數(選手必須回答問題,不回答按錯誤處理)。
每位選手都有一個起步的分數為10分。
某獲勝選手最終得分剛好是100分,如果不讓你看比賽過程,你能推斷出他(她)哪個題目答對了,哪個題目答錯了嗎?
如果把答對的記為1,答錯的記為0,則10個題目的回答情況可以用僅含有1和0的串來表示。例如:0010110011 就是可能的情況。
你的任務是算出所有可能情況。每個答案占一行。
答案寫在“解答.txt”中,不要寫在這里!
5.
以下的靜態方法實現了:把串s中第一個出現的數字的值返回。如果找不到數字,返回-1
例如:s = "abc24us43" 則返回2s = "82445adb5" 則返回8s = "ab" 則返回-1
public static int getFirstNum(String s){if(s==null || s.length()==0) return -1;char c = s.charAt(0);if(c>='0' && c<='9') return _____________; //填空return ___________________; //填空}
請分析代碼邏輯,并推測劃線處的代碼。
答案寫在 “解答.txt” 文件中
注意:只寫劃線處應該填的內容,劃線前后的內容不要抄寫。
6.
南北朝時,我國數學家祖沖之首先把圓周率值計算到小數點后六位,比歐洲早了1100年!他采用的是稱為“割圓法”的算法,實際上已經蘊含著現代微積分的思想。
如圖【1.jpg】所示,圓的內接正六邊形周長與圓的周長近似。多邊形的邊越多,接近的越好!我們從正六邊形開始割圓吧。

如圖【2.jpg】所示,從圓心做弦的垂線,可把6邊形分割為12邊形。該12邊形的邊長a'的計算方法很容易利用勾股定理給出。之后,再分割為正24邊形,....如此循環會越來越接近圓周。
之所以從正六邊開始,是因為此時邊長與半徑相等,便于計算。取半徑值為1,開始割圓吧!

以下代碼描述了割圓過程。 程序先輸出了標準圓周率值,緊接著輸出了不斷分割過程中多邊形邊數和所對應的圓周率逼近值。
新聞熱點
疑難解答