第五藍(lán)橋杯JAVA本科B組試題及答案要點(diǎn)_第1頁(yè)
第五藍(lán)橋杯JAVA本科B組試題及答案要點(diǎn)_第2頁(yè)
第五藍(lán)橋杯JAVA本科B組試題及答案要點(diǎn)_第3頁(yè)
第五藍(lán)橋杯JAVA本科B組試題及答案要點(diǎn)_第4頁(yè)
第五藍(lán)橋杯JAVA本科B組試題及答案要點(diǎn)_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、2014第五屆藍(lán)橋杯JAV林科B組試題及答案 1.武功秘籍小明到X山洞探險(xiǎn),撿到一本有破損的武功秘籍(2000多頁(yè)!當(dāng)然是偽造的)。他意識(shí)到:書(shū)的第 10頁(yè)和第11頁(yè)在同一張紙上,但第 11頁(yè)和第12頁(yè)不在同一張紙上。小明只想練習(xí)該書(shū)的第 81頁(yè)到第92頁(yè)的武功,又不想帶著整本書(shū)。請(qǐng)問(wèn)他至少要撕 下多少?gòu)埣垘ё??這是個(gè)整數(shù),請(qǐng)通過(guò)瀏覽器提交該數(shù)字,不要填寫(xiě)任何多余的內(nèi)容。答案:(80,81); (82,83); (84,85); (86,87); (88, 89); (90,91); (92,93), 2.切面條一根高筋拉面,中間切一刀,可以得到2根面條。如果先對(duì)折1次,中間切一刀,可以得到3

2、根面條。如果連續(xù)對(duì)折 2次,中間切一刀,可以得到5根面條。那么,連續(xù)對(duì)折 10次,中間切一刀,會(huì)得到多少面條呢?答案是個(gè)整數(shù),請(qǐng)通過(guò)瀏覽器提交答案。不要填寫(xiě)任何多余的內(nèi)容。答案:1025import java.util.Scanner;public class Main public static void main(String args)Scanner sc = new Scanner(System.in);int n = sc.nextInt();1;int num = (int)Math.pow(2, n) +System.out.println(num);/ 結(jié)果:2015 3.猜字

3、母把a(bǔ)bcd.s 共19個(gè)字母組成的序列重復(fù)拼接106次,得到長(zhǎng)度為 2014的串。接下來(lái)刪除第1個(gè)字母(即開(kāi)頭的字母 a),以及第3個(gè),第5個(gè)等所有奇數(shù)位置的 字母。得到的新串再進(jìn)行刪除奇數(shù)位置字母的動(dòng)作。如此下去,最后只剩下一個(gè)字母,請(qǐng)寫(xiě) 出該字母。答案是一個(gè)小寫(xiě)字母,請(qǐng)通過(guò)瀏覽器提交答案。不要填寫(xiě)任何多余的內(nèi)容。答案:qimport java.util.Scanner;/*該程序類(lèi)似與約瑟夫環(huán)的問(wèn)題*/public class Main public static void main(String口 args) Scanner s = new Scanner(System.in);Str

4、ing str = abcdefghijklmnopqrs;String str1 =;for(int i = 0;i 106;i+)str1 = str1 + str;System.out.println(str1.length();boolean口 arr = new booleanstr1.length();for(int i=0; i 1) if(arrindex = true) /當(dāng)在圈里時(shí)if(countNum%2 = 0) /下標(biāo)為偶數(shù)時(shí)arrindex = false; /該字母退出圈子leftCount -;/剩余字母數(shù)目減一countNum+;index +;/每報(bào)一次數(shù),

5、下標(biāo)加一if(index = st1length() /是循環(huán)數(shù)數(shù),當(dāng)下標(biāo)大于n時(shí),說(shuō)明已經(jīng)數(shù)了一圈,index = 0;/將下標(biāo)設(shè)為零重新開(kāi)始。countNum = 0;for(int i=0; istr1.length(); i+) if(arri = true) System.out.println(i); /輸出結(jié)果表示下標(biāo)為1023(第1024個(gè))的字母,即:q) 4.大衍數(shù)列標(biāo)題:大衍數(shù)列中國(guó)古代文獻(xiàn)中,曾記載過(guò) 大衍數(shù)列”,主要用于解釋中國(guó)傳統(tǒng)文化中的太極衍生原 理。它的前幾項(xiàng)是:0、2、4、8、12、18、24、32、40、50 .其規(guī)律是:對(duì)偶數(shù)項(xiàng),是序號(hào)平方再除2,奇數(shù)項(xiàng),

6、是序號(hào)平方減1再除2。以下的代碼打印出了大衍數(shù)列的前100項(xiàng)。for(int i=1; i=0; n-)int i = 2 * n + 1;x = 2 + (i*i / x);System.out.println(String.format(%.4f,);答案:4/(x-1) 6.奇怪的分式上小學(xué)的時(shí)候,小明經(jīng)常自己發(fā)明新算法。一次,老師出的題目是:1/4乘以8/5小明居然把分子拼接在一起,分母拼接在一起,答案是: 18/45 (參見(jiàn)圖l.png )老師剛想批評(píng)他,轉(zhuǎn)念一想,這個(gè)答案湊巧也對(duì)啊, 真是見(jiàn)鬼!對(duì)于分子、分母都是19 中的一位數(shù)的情況,還有哪些算式可以這樣計(jì)算呢?請(qǐng)寫(xiě)出所有不同算式

7、的個(gè)數(shù)(包括題中舉例的)。顯然,交換分子分母后,例如: 4/1乘以5/8 是滿足要求的,這算做不同的算式。但對(duì)于分子分母相同的情況,2/2乘以3/3 這樣的類(lèi)型太多了, 不在計(jì)數(shù)之列!注意:答案是個(gè)整數(shù)(考慮對(duì)稱(chēng)性,肯定是偶數(shù))。請(qǐng)通過(guò)瀏覽器提交。不要書(shū)寫(xiě)多余的內(nèi)容。答案:public class Main public static void main(String 口args)int count =0;for (int a =1;a =9; a+)for (int b =1;b =9; b+)if(a != b)for (int c =1;c =9;c+)for (int d =1;d =

8、 num.length)if(judge(num)show(num);count+; else for (int j = 1; j = 4; j+) numi = (char)(j+0);f(num,i+1);public static void show(char num) for (int i = 0; i num.length; i+) if(numi = 1)System.out.print(A);elseSystem.out.print(numi);System.out.println();public static boolean judge(char num) boolean b

9、ool = new boolean5;int size_A = 0, size_2 = 0, size_3 = 0, size_4 = 0;for (int i = 0; i num.length; i+) if(numi = 1)size_A+;if(i+2 0 & numi-2 = numi) bool0 = true;if(numi = 2)size_2+;if(i+3 0 & numi-3 = numi) bool1 = true;if(numi = 3)size_3+;if(i+4 0 & numi-4 = numi) bool2 = true;if(numi = 4)size_4+

10、;if(i+5 0 & numi-5 = numi) bool3 = true;if(size_A = 2 & size_3 = 2 & size_2 = 2 & size_4 = 2)bool4 = true;return bool0 & bool1 & bool2 & bool3 & bool4;有n個(gè)小朋友圍坐成一圈。老師給每個(gè)小朋友隨機(jī)發(fā)偶數(shù)個(gè)糖果,然后進(jìn)行下面的游戲:每個(gè)小朋友都把自己的糖果分一半給左手邊的孩子。一輪分糖后,擁有奇數(shù)顆糖的孩子由老師補(bǔ)給1個(gè)糖果,從而變成偶數(shù)。反復(fù)進(jìn)行這個(gè)游戲,直到所有小朋友的糖果數(shù)都相同為止。你的任務(wù)是預(yù)測(cè)在已知的初始糖果情形下,老師一共需要補(bǔ)發(fā)多少

11、個(gè)糖果?!靖袷揭蟆砍绦蚴紫茸x入一個(gè)整數(shù)N(2N100),表示小朋友的人數(shù)。接著是一行用空格分開(kāi)的N個(gè)偶數(shù)(每個(gè)偶數(shù)不大于1000 ,不小于2)要求程序輸出一個(gè)整數(shù),表示老師需要補(bǔ)發(fā)的糖果數(shù)。例如:輸入32 2 4程序應(yīng)該輸出:4資源約定:峰值內(nèi)存消耗(含虛擬機(jī)) 256MCPU 消耗 1000ms請(qǐng)嚴(yán)格按要求輸出,不要畫(huà)蛇添足地打印類(lèi)似:請(qǐng)您輸入”的多余內(nèi)容。所有代碼放在同一個(gè)源文件中,調(diào)試通過(guò)后,拷貝提交該源碼。注意:不要使用package語(yǔ)句。不要使用jdk1.7及以上版本的特性注意:主類(lèi)的名字必須是:Main ,否則按無(wú)效代碼處理。答案:import java.util.Scanner

12、; /求測(cè)試是否正確public class Main public static void main(String args口兒Scanner sc=new Scanner(System.in);int n=sc.nextInt();int a=0,b=0,count=0,x=0;int s=new int n;for(a=0;an;a+) sa=sc.nextInt();sc.close();for(;)for(a=0;an;a+) sa=sa/2;b=s0;/變化前的第一個(gè)小朋友手里的糖果的一半保留for(a=0;an-1;a+)sa=sa+sa+1;sn-1=sn-1+b;/將第一個(gè)小

13、朋友的糖果給最后一個(gè)小朋友for(a=0,x=0;an;a+)if(sa%2!=0)sa=sa+1;count+;else x+; for(a=0;an-1;a+) if(sa!=sa+1) x=0; if(x=n)System.out.println(count);break; 9.地宮取寶X國(guó)王有一個(gè)地宮寶庫(kù)。 是n x m 個(gè)格子的矩陣。 每個(gè)格子放一件寶貝。 每個(gè)寶貝貼著 價(jià)值標(biāo)簽。地宮的入口在左上角,出口在右下角小明被帶到地宮的入口,國(guó)王要求他只能向右或向下行走走過(guò)某個(gè)格子時(shí),如果那個(gè)格子中的寶貝價(jià)值比小明手中任意寶貝價(jià)值都大,小明 就可以拿起它(當(dāng)然,也可以不拿)。當(dāng)小明走到出口時(shí)

14、,如果他手中的寶貝恰好是k件,則這些寶貝就可以送給小明請(qǐng)你幫小明算一算,在給定的局面下,他有多少種不同的行動(dòng)方案能獲得這k件寶貝。【數(shù)據(jù)格式】輸入一行 3個(gè)整數(shù),用空格分開(kāi):n m k (1=n,m=50, 1=k=12)接下來(lái)有n行數(shù)據(jù),每行有 m個(gè)整數(shù)Ci (0=Ci=12)代表這個(gè)格子上的寶物的價(jià)值要求輸出一個(gè)整數(shù),表示正好取k個(gè)寶貝的行動(dòng)方案數(shù)。該數(shù)字可能很大,輸出它對(duì)1000000007 取模的結(jié)果。例如,輸入:2 2 21 22 1程序應(yīng)該輸出:2再例如,輸入:3 3 21 2 32 1 5程序應(yīng)該輸出:14資源約定:峰值內(nèi)存消耗(含虛擬機(jī)) 256MCPU 消耗 2000ms請(qǐng)嚴(yán)

15、格按要求輸出,不要畫(huà)蛇添足地打印類(lèi)似:請(qǐng)您輸入”的多余內(nèi)容。所有代碼放在同一個(gè)源文件中,調(diào)試通過(guò)后,拷貝提交該源碼。注意:不要使用 package語(yǔ)句。不要使用jdk1.7 及以上版本的特性。注意:主類(lèi)的名字必須是:Main ,否則按無(wú)效代碼處理。 10.矩陣翻硬幣小明先把硬幣擺成了一個(gè)n行m列的矩陣。隨后,小明對(duì)每一個(gè)硬幣分別進(jìn)行一次Q操作。對(duì)第x行第y列的硬幣進(jìn)行 Q操作的定義:將所有第 i*x 行,第j*y 列的硬幣 進(jìn)行翻轉(zhuǎn)。其中i和j為任意使操作可行的正整數(shù),行號(hào)和列號(hào)都是從1開(kāi)始。當(dāng)小明對(duì)所有硬幣都進(jìn)行了一次Q操作后,他發(fā)現(xiàn)了一個(gè)奇跡一儕有硬幣均為正面朝上。小明想知道最開(kāi)始有多少枚

16、硬幣是反面朝上的。于是,他向他的好朋友小M尋求幫助。聰明的小M告訴小明,只需要對(duì)所有硬幣再進(jìn)行一次Q操作,即可恢復(fù)到最開(kāi)始的狀態(tài)。然而小明很懶,不愿意照做。于是小明希望你給出他更好的方法。幫他計(jì)算出答 案?!緮?shù)據(jù)格式】輸入數(shù)據(jù)包含一行,兩個(gè)正整數(shù)nm ,含義見(jiàn)題目描述。輸出一個(gè)正整數(shù),表示最開(kāi)始有多少枚硬幣是反面朝上的?!緲永斎搿? 3【樣例輸出】1【數(shù)據(jù)規(guī)?!繉?duì)于10%的數(shù)據(jù),n、m = 10A3 .對(duì)于20%的數(shù)據(jù),n、m = 10A7 ;對(duì)于40%的數(shù)據(jù),n、m = 10A15 ;對(duì)于 10%的數(shù)據(jù),n、m = 10A1000( 10 的 1000 次方)。資源約定:峰值內(nèi)存消耗(含虛

17、擬機(jī)) 256MCPU 消耗 2000ms請(qǐng)嚴(yán)格按要求輸出,不要畫(huà)蛇添足地打印類(lèi)似:請(qǐng)您輸入”的多余內(nèi)容所有代碼放在同一個(gè)源文件中,調(diào)試通過(guò)后,拷貝提交該源碼。注意:不要使用 package語(yǔ)句。不要使用jdk1.7 及以上版本的特性。注意:主類(lèi)的名字必須是:Main ,否則按無(wú)效代碼處理。答案:import java.util.Scanner;public class矩陣翻硬幣public static void main(String口 args) Scanner reader = new Scanner(System.in);int n = reader.nextInt();int m = reader.nextInt();reader.close();int count = 0;int叩 num = new intnm;for(int i = 0; i n; i+)for(int j = 0; j n; j+)numij = 1;for(int i = 0; i n-1; i+)for(int j = 0; j m-1; j+)Q(num,i+1,j+1);for(int i = 0; i n; i+)for(int j = 0; j n; j+)if(numij = -

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論