第一篇:2013第四屆藍(lán)橋杯大賽真題(高職組)
題目1標(biāo)題: 猜年齡
美國數(shù)學(xué)家維納(N.Wiener)智力早熟,11歲就上了大學(xué)。他曾在1935~1936年應(yīng)邀來中國清華大學(xué)講學(xué)。
一次,他參加某個重要會議,年輕的臉孔引人注目。于是有人詢問他的年齡,他回答說:
“我年齡的立方是個4位數(shù)。我年齡的4次方是個6位數(shù)。這10個數(shù)字正好包含了從0到9這10個數(shù)字,每個都恰好出現(xiàn)1次。”
請你推算一下,他當(dāng)時到底有多年輕。
通過瀏覽器,直接提交他那時的年齡數(shù)字。
注意:不要提交解答過程,或其它的說明文字。
2標(biāo)題: 馬虎的算式
小明是個急性子,上小學(xué)的時候經(jīng)常把老師寫在黑板上的題目抄錯了。
有一次,老師出的題目是:36 x 495 = ?
他卻給抄成了:396 x 45 = ?
但結(jié)果卻很戲劇性,他的答案竟然是對的!
因為 36 * 495 = 396 * 45 = 17820
類似這樣的巧合情況可能還有很多,比如:27 * 594 = 297 * 54
假設(shè) a b c d e 代表1~9不同的5個數(shù)字(注意是各不相同的數(shù)字,且不含0)
能滿足形如:ab * cde = adb * ce這樣的算式一共有多少種呢?
請你利用計算機(jī)的優(yōu)勢尋找所有的可能,并回答不同算式的種類數(shù)。
滿足乘法交換律的算式計為不同的種類,所以答案肯定是個偶數(shù)。
答案直接通過瀏覽器提交。
注意:只提交一個表示最終統(tǒng)計種類數(shù)的數(shù)字,不要提交解答過程或其它多余的內(nèi)容。3 標(biāo)題: 振興中華
小明參加了學(xué)校的趣味運動會,其中的一個項目是:跳格子。
地上畫著一些格子,每個格子里寫一個字,如下所示:(也可參見p1.jpg)
從我做起振 我做起振興 做起振興中 起振興中華
比賽時,先站在左上角的寫著“從”字的格子里,可以橫向或縱向跳到相鄰的格子里,但不能跳到對角的格子或其它位置。一直要跳到“華”字結(jié)束。
要求跳過的路線剛好構(gòu)成“從我做起振興中華”這句話。
請你幫助小明算一算他一共有多少種可能的跳躍路線呢?
答案是一個整數(shù),請通過瀏覽器直接提交該數(shù)字。注意:不要提交解答過程,或其它輔助說明類的內(nèi)容。標(biāo)題: 幻方填空
幻方是把一些數(shù)字填寫在方陣中,使得行、列、兩條對角線的數(shù)字之和都相等。
歐洲最著名的幻方是德國數(shù)學(xué)家、畫家迪勒創(chuàng)作的版畫《憂郁》中給出的一個4階幻方。
他把1,2,3,...16 這16個數(shù)字填寫在4 x 4的方格中。
如圖p1.jpg所示,即: 16 ? ? 13 ? ? 11 ? 9 ? ? * ? 15 ? 1
表中有些數(shù)字已經(jīng)顯露出來,還有些用?和*代替。
請你計算出? 和 * 所代表的數(shù)字。并把 * 所代表的數(shù)字作為本題答案提交。
答案是一個整數(shù),請通過瀏覽器直接提交該數(shù)字。注意:不要提交解答過程,或其它輔助說明類的內(nèi)容。
題目標(biāo)題:公約數(shù)公倍數(shù)
我們經(jīng)常會用到求兩個整數(shù)的最大公約數(shù)和最小公倍數(shù)的功能。
下面的程序給出了一種算法。
函數(shù)myfunc接受兩個正整數(shù)a,b
經(jīng)過運算后打印出它們的最大公約數(shù)和最小公倍數(shù)。
此時,調(diào)用myfunc(15,20)
將會輸出: 5 60 // 交換數(shù)值
void swap(int *a,int *b){ int temp;temp=*a;
*a=*b;
*b=temp;}
voidmyfunc(int a, int b){ intm,n,r;
if(a
m=a;n=b;r=a%b;while(r!=0)
{
a=b;b=r;
r=a%b;
} printf(“%dn”,b);// 最大公約數(shù)
printf(“%dn”, ____________________________________);// 最小公倍數(shù) }
請分析代碼邏輯,并推測劃線處的代碼,通過網(wǎng)頁提交。
注意:僅把缺少的代碼作為答案,千萬不要填寫多余的代碼、符號或說明文字!
標(biāo)題:三部排序
一般的排序有許多經(jīng)典算法,如快速排序、希爾排序等。
但實際應(yīng)用時,經(jīng)常會或多或少有一些特殊的要求。我們沒必要套用那些經(jīng)典算法,可以根據(jù)實際情況建立更好的解法。
比如,對一個整型數(shù)組中的數(shù)字進(jìn)行分類排序:
使得負(fù)數(shù)都靠左端,正數(shù)都靠右端,0在中部。注意問題的特點是:負(fù)數(shù)區(qū)域和正數(shù)區(qū)域內(nèi)并不要求有序。可以利用這個特點通過1次線性掃描就結(jié)束戰(zhàn)斗!
以下的程序?qū)崿F(xiàn)了該目標(biāo)。
其中x指向待排序的整型數(shù)組,len是數(shù)組的長度。
void sort3p(int* x, intlen){ int p = 0;int left = 0;int right = len-1;
while(p<=right){
if(x[p]<0){
int t = x[left];
x[left] = x[p];
x[p] = t;
left++;
p++;
}
else if(x[p]>0){
int t = x[right];
x[right] = x[p];
x[p] = t;
right--;
}
else{
__________________________;//填空位置
} }
}
如果給定數(shù)組:
25,18,-2,0,16,-5,33,21,0,19,-16,25,-3,0 則排序后為:
-3,-2,-16,-5,0,0,0,21,19,33,25,16,18,25
請分析代碼邏輯,并推測劃線處的代碼,通過網(wǎng)頁提交
注意:僅把缺少的代碼作為答案,千萬不要填寫多余的代碼、符號或說明文字!
標(biāo)題:核桃的數(shù)量
小張是軟件項目經(jīng)理,他帶領(lǐng)3個開發(fā)組。工期緊,今天都在加班呢。為鼓舞士氣,小張打算給每個組發(fā)一袋核桃(據(jù)傳言能補腦)。他的要求是:
1.各組的核桃數(shù)量必須相同
2.各組內(nèi)必須能平分核桃(當(dāng)然是不能打碎的)
3.盡量提供滿足1,2條件的最小數(shù)量(節(jié)約鬧革命嘛)
程序從標(biāo)準(zhǔn)輸入讀入: a b c a,b,c都是正整數(shù),表示每個組正在加班的人數(shù),用空格分開(a,b,c<30)
程序輸出:
一個正整數(shù),表示每袋核桃的數(shù)量。
例如: 用戶輸入: 2 4 5
程序輸出: 20
再例如: 用戶輸入: 3 1 1
程序輸出: 3
資源約定:
峰值內(nèi)存消耗(含虛擬機(jī))< 64M CPU消耗< 1000ms
請嚴(yán)格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...”的多余內(nèi)容。
所有代碼放在同一個源文件中,調(diào)試通過后,拷貝提交該源碼。
注意: main函數(shù)需要返回0 注意: 只使用ANSI C/ANSI C++ 標(biāo)準(zhǔn),不要調(diào)用依賴于編譯環(huán)境或操作系統(tǒng)的特殊函數(shù)。注意: 所有依賴的函數(shù)必須明確地在源文件中 #include
提交時,注意選擇所期望的編譯器類型。8 題目標(biāo)題:打印十字圖
小明為某機(jī)構(gòu)設(shè)計了一個十字型的徽標(biāo)(并非紅十字會啊),如下所示(可參見p1.jpg)
$$$$$$$$$$$$$
$
$
$$$ $$$$$$$$$ $$$
$
$
$
$
$ $$$ $$$$$ $$$ $
$ $
$
$
$ $
$ $ $$$ $ $$$ $ $
$ $ $
$
$ $ $
$ $ $ $$$$$ $ $ $
$ $ $
$
$ $ $
$ $ $$$ $ $$$ $ $
$ $
$
$
$ $
$ $$$ $$$$$ $$$ $
$
$
$
$
$$$ $$$$$$$$$ $$$
$
$
$$$$$$$$$$$$$
對方同時也需要在電腦dos窗口中以字符的形式輸出該標(biāo)志,并能任意控制層數(shù)。
為了能準(zhǔn)確比對空白的數(shù)量,程序要求對行中的空白以句點(.)代替。
輸入格式:
一個正整數(shù) n(n<30)表示要求打印圖形的層數(shù)
輸出:
對應(yīng)包圍層數(shù)的該標(biāo)志。
例如: 用戶輸入: 1 程序應(yīng)該輸出:..$$$$$....$...$..$$$.$.$$$ $...$...$ $.$$$$$.$ $...$...$ $$$.$.$$$..$...$....$$$$$..再例如: 用戶輸入: 3 程序應(yīng)該輸出:..$$$$$$$$$$$$$....$...........$..$$$.$$$$$$$$$.$$$ $...$.......$...$ $.$$$.$$$$$.$$$.$ $.$...$...$...$.$ $.$.$$$.$.$$$.$.$ $.$.$...$...$.$.$ $.$.$.$$$$$.$.$.$ $.$.$...$...$.$.$ $.$.$$$.$.$$$.$.$ $.$...$...$...$.$ $.$$$.$$$$$.$$$.$ $...$.......$...$ $$$.$$$$$$$$$.$$$..$...........$....$$$$$$$$$$$$$..請仔細(xì)觀察樣例,尤其要注意句點的數(shù)量和輸出位置。
資源約定:
峰值內(nèi)存消耗< 64M CPU消耗< 1000ms
請嚴(yán)格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...”的多余內(nèi)容。
所有代碼放在同一個源文件中,調(diào)試通過后,拷貝提交該源碼。
注意: main函數(shù)需要返回0 注意: 只使用ANSI C/ANSI C++ 標(biāo)準(zhǔn),不要調(diào)用依賴于編譯環(huán)境或操作系統(tǒng)的特殊函數(shù)。注意: 所有依賴的函數(shù)必須明確地在源文件中 #include
提交時,注意選擇所期望的編譯器類型。標(biāo)題:帶分?jǐn)?shù)
可以表示為帶分?jǐn)?shù)的形式:100 = 3 + 69258 / 714
還可以表示為:100 = 82 + 3546 / 197
注意特征:帶分?jǐn)?shù)中,數(shù)字1~9分別出現(xiàn)且只出現(xiàn)一次(不包含0)。
類似這樣的帶分?jǐn)?shù),100 有 11 種表示法。
題目要求:
從標(biāo)準(zhǔn)輸入讀入一個正整數(shù)N(N<1000*1000)程序輸出該數(shù)字用數(shù)碼1~9不重復(fù)不遺漏地組成帶分?jǐn)?shù)表示的全部種數(shù)。注意:不要求輸出每個表示,只統(tǒng)計有多少表示法!
例如: 用戶輸入: 100 程序輸出: 11
再例如: 用戶輸入: 105 程序輸出: 6
資源約定:
峰值內(nèi)存消耗< 64M CPU消耗< 3000ms
請嚴(yán)格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...”的多余內(nèi)容。
所有代碼放在同一個源文件中,調(diào)試通過后,拷貝提交該源碼。
注意: main函數(shù)需要返回0 注意: 只使用ANSI C/ANSI C++ 標(biāo)準(zhǔn),不要調(diào)用依賴于編譯環(huán)境或操作系統(tǒng)的特殊函數(shù)。注意: 所有依賴的函數(shù)必須明確地在源文件中 #include
提交時,注意選擇所期望的編譯器類型。
標(biāo)題:剪格子
如圖p1.jpg所示,3 x 3 的格子中填寫了一些整數(shù)。
我們沿著圖中的紅色線剪開,得到兩個部分,每個部分的數(shù)字和都是60。
本題的要求就是請你編程判定:對給定的m x n 的格子中的整數(shù),是否可以分割為兩個部分,使得這兩個區(qū)域的數(shù)字和相等。
如果存在多種解答,請輸出包含左上角格子的那個區(qū)域包含的格子的最小數(shù)目。如果無法分割,則輸出 0
程序輸入輸出格式要求:
程序先讀入兩個整數(shù) m n 用空格分割(m,n<10)表示表格的寬度和高度
接下來是n行,每行m個正整數(shù),用空格分開。每個整數(shù)不大于10000 程序輸出:在所有解中,包含左上角的分割區(qū)可能包含的最小的格子數(shù)目。
例如: 用戶輸入: 3 3 10 1 52 20 30 1 1 2 3
則程序輸出: 3
再例如: 用戶輸入: 4 3 1 1 1 1 1 30 80 2 1 1 1 100
則程序輸出: 10
(參見p2.jpg)
資源約定:
峰值內(nèi)存消耗< 64M CPU消耗< 5000ms
請嚴(yán)格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...”的多余內(nèi)容。
所有代碼放在同一個源文件中,調(diào)試通過后,拷貝提交該源碼。
注意: main函數(shù)需要返回0 注意: 只使用ANSI C/ANSI C++ 標(biāo)準(zhǔn),不要調(diào)用依賴于編譯環(huán)境或操作系統(tǒng)的特殊函數(shù)。注意: 所有依賴的函數(shù)必須明確地在源文件中 #include
提交時,注意選擇所期望的編譯器類型。
第二篇:2013第四屆藍(lán)橋杯java高職組賽題
第四屆“藍(lán)橋杯”全國軟件專業(yè)人才設(shè)計與創(chuàng)業(yè)大賽選拔賽
Java高職高專組
1.標(biāo)題: 猜年齡
美國數(shù)學(xué)家維納(N.Wiener)智力早熟,11歲就上了大學(xué)。他曾在1935~1936年應(yīng)邀來中國清華大學(xué)講學(xué)。
一次,他參加某個重要會議,年輕的臉孔引人注目。于是有人詢問他的年齡,他回答說:
“我年齡的立方是個4位數(shù)。我年齡的4次方是個6位數(shù)。這10個數(shù)字正好包含了從0到9這10個數(shù)字,每個都恰好出現(xiàn)1次。”
請你推算一下,他當(dāng)時到底有多年輕。
通過瀏覽器,直接提交他那時的年齡數(shù)字。
注意:不要提交解答過程,或其它的說明文字。
2.標(biāo)題: 組素數(shù)
素數(shù)就是不能再進(jìn)行等分的數(shù)。比如:2 3 5 7 11 等。
= 3 * 3 說明它可以3等分,因而不是素數(shù)。
我們國家在1949年建國。如果只給你 1 9 4 9 這4個數(shù)字卡片,可以隨意擺放它們的先后順序(但卡片不能倒著擺放啊,我們不是在腦筋急轉(zhuǎn)彎!),那么,你能組成多少個4位的素數(shù)呢?
比如:1949,4919 都符合要求。
請你提交:能組成的4位素數(shù)的個數(shù),不要羅列這些素數(shù)!
注意:不要提交解答過程,或其它的輔助說明文字。3.標(biāo)題: 馬虎的算式
小明是個急性子,上小學(xué)的時候經(jīng)常把老師寫在黑板上的題目抄錯了。
有一次,老師出的題目是:36 x 495 = ?
他卻給抄成了:396 x 45 = ?
但結(jié)果卻很戲劇性,他的答案竟然是對的!
因為 36 * 495 = 396 * 45 = 17820
類似這樣的巧合情況可能還有很多,比如:27 * 594 = 297 * 54
假設(shè) a b c d e 代表1~9不同的5個數(shù)字(注意是各不相同的數(shù)字,且不含0)
能滿足形如: ab * cde = adb * ce 這樣的算式一共有多少種呢?
請你利用計算機(jī)的優(yōu)勢尋找所有的可能,并回答不同算式的種類數(shù)。
滿足乘法交換律的算式計為不同的種類,所以答案肯定是個偶數(shù)。
答案直接通過瀏覽器提交。
注意:只提交一個表示最終統(tǒng)計種類數(shù)的數(shù)字,不要提交解答過程或其它多余的內(nèi)容。
4.標(biāo)題: 第39級臺階
小明剛剛看完電影《第39級臺階》,離開電影院的時候,他數(shù)了數(shù)禮堂前的臺階數(shù),恰好是39級!
站在臺階前,他突然又想著一個問題:
如果我每一步只能邁上1個或2個臺階。先邁左腳,然后左右交替,最后一步是邁右腳,也就是說一共要走偶數(shù)步。那么,上完39級臺階,有多少種不同的上法呢?
請你利用計算機(jī)的優(yōu)勢,幫助小明尋找答案。
要求提交的是一個整數(shù)。
注意:不要提交解答過程,或其它的輔助說明文字。
5.標(biāo)題:有理數(shù)類
有理數(shù)就是可以表示為兩個整數(shù)的比值的數(shù)字。一般情況下,我們用近似的小數(shù)表示。但有些時候,不允許出現(xiàn)誤差,必須用兩個整數(shù)來表示一個有理數(shù)。
這時,我們可以建立一個“有理數(shù)類”,下面的代碼初步實現(xiàn)了這個目標(biāo)。為了簡明,它只提供了加法和乘法運算。
class Rational { private long ra;private long rb;
private long gcd(long a, long b){ if(b==0)return a;return gcd(b,a%b);}
public Rational(long a, long b){ ra = a;rb = b;
long k = gcd(ra,rb);if(k>1){ //需要約分
ra /= k;
rb /= k;} }
// 加法
public Rational add(Rational x){ return ________________________________________;}
// 乘法
public Rational mul(Rational x){ return new Rational(ra*x.ra, rb*x.rb);}
public String toString(){ if(rb==1)return “" + ra;return ra + ”/“ + rb;} }
使用該類的示例:
Rational a = new Rational(1,3);
//填空位置 Rational b = new Rational(1,6);Rational c = a.add(b);System.out.println(a + ”+“ + b + ”=" + c);
請分析代碼邏輯,并推測劃線處的代碼,通過網(wǎng)頁提交
注意:僅把缺少的代碼作為答案,千萬不要填寫多余的代碼、符號或說明文字!
6.標(biāo)題:逆波蘭表達(dá)式
正常的表達(dá)式稱為中綴表達(dá)式,運算符在中間,主要是給人閱讀的,機(jī)器求解并不方便。
例如:3 + 5 *(2 + 6)* 三種運算符
2.每個運算數(shù)都是一個小于10的非負(fù)整數(shù)
下面的程序?qū)σ粋€逆波蘭表示串進(jìn)行求值。
其返回值為一個數(shù)組:其中第一元素表示求值結(jié)果,第二個元素表示它已解析的字符數(shù)。
static int[] evaluate(String x){
if(x.length()==0)return new int[] {0,0};
char c = x.charAt(0);if(c>='0' && c<='9')return new int[] {c-'0',1};
int[] v1 = evaluate(x.substring(1));int[] v2 = __________________________________________;//填空位置
int v = Integer.MAX_VALUE;if(c=='+')v = v1[0] + v2[0];if(c=='*')v = v1[0] * v2[0];if(c=='-')v = v1[0]-v2[0];
return new int[] {v,1+v1[1]+v2[1]};}
請分析代碼邏輯,并推測劃線處的代碼,通過網(wǎng)頁提交。
注意:僅把缺少的代碼作為答案,千萬不要填寫多余的代碼、符號或說明文字!7.標(biāo)題:核桃的數(shù)量
小張是軟件項目經(jīng)理,他帶領(lǐng)3個開發(fā)組。工期緊,今天都在加班呢。為鼓舞士氣,小張打算給每個組發(fā)一袋核桃(據(jù)傳言能補腦)。他的要求是:
1.各組的核桃數(shù)量必須相同
2.各組內(nèi)必須能平分核桃(當(dāng)然是不能打碎的)
3.盡量提供滿足1,2條件的最小數(shù)量(節(jié)約鬧革命嘛)
程序從標(biāo)準(zhǔn)輸入讀入: a b c a,b,c都是正整數(shù),表示每個組正在加班的人數(shù),用空格分開(a,b,c<30)
程序輸出:
一個正整數(shù),表示每袋核桃的數(shù)量。
例如: 用戶輸入: 2 4 5
程序輸出: 20
再例如: 用戶輸入: 3 1 1
程序輸出: 3
資源約定:
峰值內(nèi)存消耗(含虛擬機(jī))< 64M CPU消耗
< 1000ms
請嚴(yán)格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多余內(nèi)容。
所有代碼放在同一個源文件中,調(diào)試通過后,拷貝提交該源碼。注意:不要使用package語句。不要使用jdk1.6及以上版本的特性。注意:主類的名字必須是:Main,否則按無效代碼處理。8.標(biāo)題:打印十字圖
小明為某機(jī)構(gòu)設(shè)計了一個十字型的徽標(biāo)(并非紅十字會啊),如下所示(可參見p1.jpg)
$$$$$$$$$$$$$ $ $ $$$ $$$$$$$$$ $$$ $ $ $ $ $ $$$ $$$$$ $$$ $ $ $ $ $ $ $ $ $ $$$ $ $$$ $ $ $ $ $ $ $ $ $ $ $ $ $$$$$ $ $ $ $ $ $ $ $ $ $ $ $ $$$ $ $$$ $ $ $ $ $ $ $ $ $ $$$ $$$$$ $$$ $ $ $ $ $ $$$ $$$$$$$$$ $$$ $ $ $$$$$$$$$$$$$
對方同時也需要在電腦dos窗口中以字符的形式輸出該標(biāo)志,并能任意控制層數(shù)。
為了能準(zhǔn)確比對空白的數(shù)量,程序要求對行中的空白以句點(.)代替。
輸入格式:
一個正整數(shù) n(n<30)表示要求打印圖形的層數(shù)
輸出:
對應(yīng)包圍層數(shù)的該標(biāo)志。
例如: 用戶輸入: 1 程序應(yīng)該輸出:
再例如: 用戶輸入: 3 程序應(yīng)該輸出:
..$$$$$....$...$..$$$.$.$$$ $...$...$ $.$$$$$.$ $...$...$ $$$.$.$$$..$...$....$$$$$....$$$$$$$$$$$$$....$...........$..$$$.$$$$$$$$$.$$$ $...$.......$...$ $.$$$.$$$$$.$$$.$ $.$...$...$...$.$ $.$.$$$.$.$$$.$.$ $.$.$...$...$.$.$ $.$.$.$$$$$.$.$.$ $.$.$...$...$.$.$ $.$.$$$.$.$$$.$.$ $.$...$...$...$.$ $.$$$.$$$$$.$$$.$ $...$.......$...$ $$$.$$$$$$$$$.$$$..$...........$....$$$$$$$$$$$$$..請仔細(xì)觀察樣例,尤其要注意句點的數(shù)量和輸出位置。
資源約定:
峰值內(nèi)存消耗(含虛擬機(jī))< 64M CPU消耗
< 1000ms
請嚴(yán)格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多余內(nèi)容。
所有代碼放在同一個源文件中,調(diào)試通過后,拷貝提交該源碼。注意:不要使用package語句。不要使用jdk1.6及以上版本的特性。注意:主類的名字必須是:Main,否則按無效代碼處理。
9.標(biāo)題:買不到的數(shù)目
小明開了一家糖果店。他別出心裁:把水果糖包成4顆一包和7顆一包的兩種。糖果不能拆包賣。
小朋友來買糖的時候,他就用這兩種包裝來組合。當(dāng)然有些糖果數(shù)目是無法組合出來的,比如要買 10 顆糖。
你可以用計算機(jī)測試一下,在這種包裝情況下,最大不能買到的數(shù)量是17。大于17的任何數(shù)字都可以用4和7組合出來。
本題的要求就是在已知兩個包裝的數(shù)量時,求最大不能組合出的數(shù)字。
輸入:
兩個正整數(shù),表示每種包裝中糖的顆數(shù)(都不多于1000)
要求輸出:
一個正整數(shù),表示最大不能買到的糖數(shù)
例如: 用戶輸入: 4 7 程序應(yīng)該輸出: 17
再例如: 用戶輸入: 3 5 程序應(yīng)該輸出: 7
資源約定:
峰值內(nèi)存消耗(含虛擬機(jī))< 64M CPU消耗
< 3000ms
請嚴(yán)格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多余內(nèi)容。
所有代碼放在同一個源文件中,調(diào)試通過后,拷貝提交該源碼。注意:不要使用package語句。不要使用jdk1.6及以上版本的特性。注意:主類的名字必須是:Main,否則按無效代碼處理。10.標(biāo)題:剪格子
如圖p1.jpg所示,3 x 3 的格子中填寫了一些整數(shù)。
我們沿著圖中的紅色線剪開,得到兩個部分,每個部分的數(shù)字和都是60。
本題的要求就是請你編程判定:對給定的m x n 的格子中的整數(shù),是否可以分割為兩個部分,使得這兩個區(qū)域的數(shù)字和相等。
如果存在多種解答,請輸出包含左上角格子的那個區(qū)域包含的格子的最小數(shù)目。
如果無法分割,則輸出 0
程序輸入輸出格式要求:
程序先讀入兩個整數(shù) m n 用空格分割(m,n<10)表示表格的寬度和高度
接下來是n行,每行m個正整數(shù),用空格分開。每個整數(shù)不大于10000 程序輸出:在所有解中,包含左上角的分割區(qū)可能包含的最小的格子數(shù)目。
例如: 用戶輸入: 3 3 10 1 52 20 30 1 1 2 3
則程序輸出: 3
再例如: 用戶輸入: 4 3 1 1 1 1 1 30 80 2 1 1 1 100
則程序輸出: 10
(參見p2.jpg)
資源約定: 峰值內(nèi)存消耗(含虛擬機(jī))< 64M CPU消耗
< 5000ms
請嚴(yán)格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多余內(nèi)容。
所有代碼放在同一個源文件中,調(diào)試通過后,拷貝提交該源碼。注意:不要使用package語句。不要使用jdk1.6及以上版本的特性。注意:主類的名字必須是:Main,否則按無效代碼處理。
第四屆“藍(lán)橋杯”全國軟件專業(yè)人才設(shè)計與創(chuàng)業(yè)大賽選拔賽
Java高職高專組
考生須知:
考試開始后,選手首先下載題目到本機(jī)不被還原的盤符,并使用考場現(xiàn)場公布的解壓密碼解壓試題。
考試時間為9:00-13:00,共4個小時。13點整時間截止時,將無法提交答案。選手因考試結(jié)束不能提交答案的,責(zé)任由選手自負(fù)。
在考試強制結(jié)束前,選手可以主動結(jié)束考試(需要身份驗證),結(jié)束考試后將無法繼續(xù)提交或瀏覽答案。
選手可瀏覽自己已經(jīng)提交的答案。
對同一題目,選手可多次提交答案,以最后一次提交的答案為準(zhǔn)。選手切勿在提交的代碼中書寫“姓名”、“考號”,“院校名”等與身份有關(guān)的信息或其它與競賽題目無關(guān)的內(nèi)容,否則成績無效。
選手必須通過瀏覽器方式提交自己的答案。選手在其它位置的作答或其它方式提交的答案無效。
試題包含三種類型:“結(jié)果填空”、“代碼填空”與“程序設(shè)計”。
結(jié)果填空題:要求參賽選手根據(jù)題目描述直接填寫結(jié)果。求解方式不限。不要求源代碼。把結(jié)果填空的答案直接通過網(wǎng)頁提交即可,不要書寫多余的內(nèi)容,比如:注釋說明。
代碼填空題:要求參賽選手在弄清給定代碼工作原理的基礎(chǔ)上填寫缺失的部分,使得程序邏輯正確、完整。所填寫的代碼不超過一條語句(即中間不能出現(xiàn)分號)。
把代碼填空的答案(僅填空處的答案,不包括題面已存在的代碼)直接通過網(wǎng)頁提交即可,不要書寫多余的內(nèi)容,比如:注釋或說明文字。
程序設(shè)計題目:要求選手設(shè)計的程序?qū)τ诮o定的輸入能給出正確的輸出結(jié)果。考生的程序只有能運行出正確結(jié)果,才有機(jī)會得分。
注意:在評卷時使用的輸入數(shù)據(jù)與試卷中給出的示例數(shù)據(jù)可能是不同的。選手的程序必須是通用的,不能只對試卷中給定的數(shù)據(jù)有效。
所有源碼必須在同一文件中。調(diào)試通過后,拷貝提交。
注意:不要使用package語句。源程序中只能出現(xiàn)JDK1.5中允許的語法或調(diào)用。不能使用1.6或更高版本的特性。
注意:選手代碼的主類名必須為:Main,否則會被判為無效代碼。
結(jié)果填空(滿分3分)問題的描述在考生文件夾下對應(yīng)題號的“題目描述.txt”中。相關(guān)的參考文件在同一目錄中。請仔細(xì)閱讀題目,不限解決問題的方式,只要求提交結(jié)果。
必須通過瀏覽器提交答案。
只提交題目要求的內(nèi)容,不要填寫任何多余的文字!
結(jié)果填空(滿分5分)問題的描述在考生文件夾下對應(yīng)題號的“題目描述.txt”中。相關(guān)的參考文件在同一目錄中。請先閱讀題目,不限解決問題的方式,只要求提交結(jié)果。
必須通過瀏覽器提交答案。
結(jié)果填空(滿分8分)問題的描述在考生文件夾下對應(yīng)題號的“題目描述.txt”中。相關(guān)的參考文件在同一目錄中。請先閱讀題目,不限解決問題的方式,只要求提交結(jié)果。
必須通過瀏覽器提交答案。
結(jié)果填空(滿分12分)問題的描述在考生文件夾下對應(yīng)題號的“題目描述.txt”中。相關(guān)的參考文件在同一目錄中。請先閱讀題目,不限解決問題的方式,只要求提交結(jié)果。
必須通過瀏覽器提交答案。
代碼填空(滿分6分)問題的描述在考生文件夾下對應(yīng)題號的“題目描述.txt”中。相關(guān)的參考文件在同一目錄中。請先閱讀題目,不限解決問題的方式。
只要求填寫缺失的代碼部分,千萬不要畫蛇添足,填寫多余的已有代碼或符號。必須通過瀏覽器提交答案。
代碼填空(滿分11分)問題的描述在考生文件夾下對應(yīng)題號的“題目描述.txt”中。相關(guān)的參考文件在同一目錄中。請先閱讀題目,不限解決問題的方式。
只要求填寫缺失的代碼部分,千萬不要畫蛇添足,填寫多余的已有代碼或符號。必須通過瀏覽器提交答案。
程序設(shè)計(滿分4分)
問題的描述在考生文件夾下對應(yīng)題號的“題目描述.txt”中。相關(guān)的參考文件在同一目錄中。請先閱讀題目,必須通過編程的方式解決問題。
注意:在評卷時使用的輸入數(shù)據(jù)與試卷中給出的示例數(shù)據(jù)可能是不同的。選手的程序必須是通用的,不能只對試卷中給定的數(shù)據(jù)有效。
仔細(xì)閱讀程序的輸入、輸出要求,千萬不要輸出沒有要求的、多余的內(nèi)容。建議仔細(xì)閱讀示例,不要想當(dāng)然!
所有代碼放在同一個源文件中,調(diào)試通過后,拷貝提交該源碼。不要使用package語句。
注意:選手代碼的主類名必須為:Main,否則會被判為無效代碼。
程序設(shè)計(滿分12分)問題的描述在考生文件夾下對應(yīng)題號的“題目描述.txt”中。相關(guān)的參考文件在同一目錄中。請先閱讀題目,必須通過編程的方式解決問題。
注意:在評卷時使用的輸入數(shù)據(jù)與試卷中給出的示例數(shù)據(jù)可能是不同的。選手的程序必須是通用的,不能只對試卷中給定的數(shù)據(jù)有效。
仔細(xì)閱讀程序的輸入、輸出要求,千萬不要輸出沒有要求的、多余的內(nèi)容。建議仔細(xì)閱讀示例,不要想當(dāng)然!
所有代碼放在同一個源文件中,調(diào)試通過后,拷貝提交該源碼。不要使用package語句。
注意:選手代碼的主類名必須為:Main,否則會被判為無效代碼。
程序設(shè)計(滿分15分)
問題的描述在考生文件夾下對應(yīng)題號的“題目描述.txt”中。相關(guān)的參考文件在同一目錄中。請先閱讀題目,必須通過編程的方式解決問題。
注意:在評卷時使用的輸入數(shù)據(jù)與試卷中給出的示例數(shù)據(jù)可能是不同的。選手的程序必須是通用的,不能只對試卷中給定的數(shù)據(jù)有效。
仔細(xì)閱讀程序的輸入、輸出要求,千萬不要輸出沒有要求的、多余的內(nèi)容。建議仔細(xì)閱讀示例,不要想當(dāng)然!
所有代碼放在同一個源文件中,調(diào)試通過后,拷貝提交該源碼。不要使用package語句。
注意:選手代碼的主類名必須為:Main,否則會被判為無效代碼。
程序設(shè)計(滿分24分)
問題的描述在考生文件夾下對應(yīng)題號的“題目描述.txt”中。相關(guān)的參考文件在同一目錄中。請先閱讀題目,必須通過編程的方式解決問題。
注意:在評卷時使用的輸入數(shù)據(jù)與試卷中給出的示例數(shù)據(jù)可能是不同的。選手的程序必須是通用的,不能只對試卷中給定的數(shù)據(jù)有效。
仔細(xì)閱讀程序的輸入、輸出要求,千萬不要輸出沒有要求的、多余的內(nèi)容。建議仔細(xì)閱讀示例,不要想當(dāng)然!
所有代碼放在同一個源文件中,調(diào)試通過后,拷貝提交該源碼。不要使用package語句。
注意:選手代碼的主類名必須為:Main,否則會被判為無效代碼。
第三篇:2013藍(lán)橋杯 預(yù)賽-C高職高專組真題資料
第四屆“藍(lán)橋杯”全國軟件專業(yè)人才設(shè)計與創(chuàng)業(yè)大賽選拔賽
C/C++高職高專組
考生須知:
? 考試開始后,選手首先下載題目到本機(jī)不被還原的盤符,并使用考場現(xiàn)場公布的解壓密碼解壓試題。
? 考試時間為9:00-13:00,共4個小時。13點整時間截止時,將無法提交答案。選手因考試結(jié)束不能提交答案的,責(zé)任由選手自負(fù)。
? 在考試強制結(jié)束前,選手可以主動結(jié)束考試(需要身份驗證),結(jié)束考試后將無法繼續(xù)提交或瀏覽答案。
? 選手可瀏覽自己已經(jīng)提交的答案。
? 對同一題目,選手可多次提交答案,以最后一次提交的答案為準(zhǔn)。? 選手切勿在提交的代碼中書寫“姓名”、“考號”,“院校名”等與身份有關(guān)的信息或其它與競賽題目無關(guān)的內(nèi)容,否則成績無效。
? 選手必須通過瀏覽器方式提交自己的答案。選手在其它位置的作答或其它方式提交的答案無效。
? 試題包含三種類型:“結(jié)果填空”、“代碼填空”與“程序設(shè)計”。
結(jié)果填空題:要求選手根據(jù)題目描述直接填寫結(jié)果。求解方式不限。不要求源代碼。把結(jié)果填空的答案直接通過網(wǎng)頁提交即可,不要書寫多余的內(nèi)容。代碼填空題:要求選手在弄清給定代碼工作原理的基礎(chǔ)上填寫缺失的部分,使得程序邏輯正確、完整。所填寫的代碼不超過一條語句(即中間不能出現(xiàn)分號)。
把代碼填空的答案(僅填空處的答案,不包括題面已存在的代碼或符號)直接通過網(wǎng)頁提交即可,不要書寫多余的內(nèi)容。
注意選擇自己使用的編譯環(huán)境。
使用ANSI C/ANSI C++ 標(biāo)準(zhǔn),不要依賴操作系統(tǒng)或編譯器提供的特殊函數(shù)。程序設(shè)計題目:要求選手設(shè)計的程序?qū)τ诮o定的輸入能給出正確的輸出結(jié)果。考生的程序只有能運行出正確結(jié)果才有機(jī)會得分。
注意:在評卷時使用的輸入數(shù)據(jù)與試卷中給出的示例數(shù)據(jù)可能是不同的。選手的程序必須是通用的,不能只對試卷中給定的數(shù)據(jù)有效。
對于編程題目,要求選手給出的解答完全符合ANSI C++標(biāo)準(zhǔn),不能使用諸如繪圖、Win32API、中斷調(diào)用、硬件操作或與操作系統(tǒng)相關(guān)的API。
代碼中允許使用STL類庫,但不能使用MFC或ATL等非ANSI C++標(biāo)準(zhǔn)的類庫。例如,不能使用CString類型(屬于MFC類庫)。
注意: main函數(shù)需要返回0 注意: 所有依賴的函數(shù)必須明確地在源文件中 #include
所有源碼必須在同一文件中。調(diào)試通過后,拷貝提交。提交時,注意選擇所期望的編譯器類型。
1.結(jié)果填空(滿分3分)問題的描述在考生文件夾下對應(yīng)題號的“題目描述.txt”中。相關(guān)的參考文件在同一目
第1/14
頁 錄中。請先閱讀題目,不限解決問題的方式,只要求提交結(jié)果。
必須通過瀏覽器提交答案。題目標(biāo)題: 猜年齡
美國數(shù)學(xué)家維納(N.Wiener)智力早熟,11歲就上了大學(xué)。他曾在1935~1936年應(yīng)邀來中國清華大學(xué)講學(xué)。
一次,他參加某個重要會議,年輕的臉孔引人注目。于是有人詢問他的年齡,他回答說:
“我年齡的立方是個4位數(shù)。我年齡的4次方是個6位數(shù)。這10個數(shù)字正好包含了從0到9這10個數(shù)字,每個都恰好出現(xiàn)1次。”
請你推算一下,他當(dāng)時到底有多年輕。
通過瀏覽器,直接提交他那時的年齡數(shù)字。
注意:不要提交解答過程,或其它的說明文字。
答案:18
2.結(jié)果填空(滿分6分)問題的描述在考生文件夾下對應(yīng)題號的“題目描述.txt”中。相關(guān)的參考文件在同一目錄中。請先閱讀題目,不限解決問題的方式,只要求提交結(jié)果。
必須通過瀏覽器提交答案。標(biāo)題: 馬虎的算式
小明是個急性子,上小學(xué)的時候經(jīng)常把老師寫在黑板上的題目抄錯了。
有一次,老師出的題目是:36 x 495 = ?
他卻給抄成了:396 x 45 = ?
但結(jié)果卻很戲劇性,他的答案竟然是對的!
因為 36 * 495 = 396 * 45 = 17820
類似這樣的巧合情況可能還有很多,比如:27 * 594 = 297 * 54
假設(shè) a b c d e 代表1~9不同的5個數(shù)字(注意是各不相同的數(shù)字,且不含0)
能滿足形如: ab * cde = adb * ce 這樣的算式一共有多少種呢?
請你利用計算機(jī)的優(yōu)勢尋找所有的可能,并回答不同算式的種類數(shù)。
滿足乘法交換律的算式計為不同的種類,所以答案肯定是個偶數(shù)。
答案直接通過瀏覽器提交。
第2/14
頁 注意:只提交一個表示最終統(tǒng)計種類數(shù)的數(shù)字,不要提交解答過程或其它多余的內(nèi)容。
答案:3
3.結(jié)果填空(滿分8分)問題的描述在考生文件夾下對應(yīng)題號的“題目描述.txt”中。相關(guān)的參考文件在同一目錄中。請先閱讀題目,不限解決問題的方式,只要求提交結(jié)果。
必須通過瀏覽器提交答案。標(biāo)題: 振興中華
小明參加了學(xué)校的趣味運動會,其中的一個項目是:跳格子。
地上畫著一些格子,每個格子里寫一個字,如下所示:(也可參見p1.jpg)
從我做起振 我做起振興 做起振興中 起振興中華
比賽時,先站在左上角的寫著“從”字的格子里,可以橫向或縱向跳到相鄰的格子里,但不能跳到對角的格子或其它位置。一直要跳到“華”字結(jié)束。
要求跳過的路線剛好構(gòu)成“從我做起振興中華”這句話。
請你幫助小明算一算他一共有多少種可能的跳躍路線呢?
答案是一個整數(shù),請通過瀏覽器直接提交該數(shù)字。
注意:不要提交解答過程,或其它輔助說明類的內(nèi)容。
4.結(jié)果填空(滿分13分)問題的描述在考生文件夾下對應(yīng)題號的“題目描述.txt”中。相關(guān)的參考文件在同一目錄中。請先閱讀題目,不限解決問題的方式,只要求提交結(jié)果。
必須通過瀏覽器提交答案。標(biāo)題: 幻方填空
第3/14
頁
幻方是把一些數(shù)字填寫在方陣中,使得行、列、兩條對角線的數(shù)字之和都相等。
歐洲最著名的幻方是德國數(shù)學(xué)家、畫家迪勒創(chuàng)作的版畫《憂郁》中給出的一個4階幻方。
他把1,2,3,...16 這16個數(shù)字填寫在4 x 4的方格中。
如圖p1.jpg所示,即: ? ? 13 ? ? 11 ? 10 9 ? ? * ? 15 ? 1
14
表中有些數(shù)字已經(jīng)顯露出來,還有些用?和*代替。
請你計算出? 和 * 所代表的數(shù)字。并把 * 所代表的數(shù)字作為本題答案提交。
答案是一個整數(shù),請通過瀏覽器直接提交該數(shù)字。注意:不要提交解答過程,或其它輔助說明類的內(nèi)容。
5.代碼填空(滿分5分)問題的描述在考生文件夾下對應(yīng)題號的“題目描述.txt”中。相關(guān)的參考文件在同一目錄中。請先閱讀題目,不限解決問題的方式。
只要求填寫缺失的代碼部分,千萬不要畫蛇添足,填寫多余的已有代碼或符號。必須通過瀏覽器提交答案。注意選擇自己使用的編譯環(huán)境。
題目標(biāo)題:公約數(shù)公倍數(shù)
第4/14
頁
我們經(jīng)常會用到求兩個整數(shù)的最大公約數(shù)和最小公倍數(shù)的功能。
下面的程序給出了一種算法。
函數(shù) myfunc 接受兩個正整數(shù)a,b
經(jīng)過運算后打印出 它們的最大公約數(shù)和最小公倍數(shù)。
此時,調(diào)用 myfunc(15,20)
將會輸出: 3 60
// 交換數(shù)值
void swap(int *a,int *b){
int temp;
temp=*a;
*a=*b;
*b=temp;}
void myfunc(int a, int b){
int m,n,r;
if(a
m=a;n=b;r=a%b;
while(r!=0)
{
a=b;b=r;
r=a%b;
}
printf(“%dn”,b);// 最大公約數(shù)
printf(“%dn”,______(m/b)*(n/b)*b_________);// 最小公倍數(shù)
}
請分析代碼邏輯,并推測劃線處的代碼,通過網(wǎng)頁提交。
注意:僅把缺少的代碼作為答案,千萬不要填寫多余的代碼、符號或說明文字!
6.代碼填空(滿分8分)問題的描述在考生文件夾下對應(yīng)題號的“題目描述.txt”中。相關(guān)的參考文件在同一目
第5/14
頁 錄中。請先閱讀題目,不限解決問題的方式。
只要求填寫缺失的代碼部分,千萬不要畫蛇添足,填寫多余的已有代碼或符號。必須通過瀏覽器提交答案。注意選擇自己使用的編譯環(huán)境。
標(biāo)題:三部排序
一般的排序有許多經(jīng)典算法,如快速排序、希爾排序等。
但實際應(yīng)用時,經(jīng)常會或多或少有一些特殊的要求。我們沒必要套用那些經(jīng)典算法,可以根據(jù)實際情況建立更好的解法。
比如,對一個整型數(shù)組中的數(shù)字進(jìn)行分類排序:
使得負(fù)數(shù)都靠左端,正數(shù)都靠右端,0在中部。注意問題的特點是:負(fù)數(shù)區(qū)域和正數(shù)區(qū)域內(nèi)并不要求有序。可以利用這個特點通過1次線性掃描就結(jié)束戰(zhàn)斗!
以下的程序?qū)崿F(xiàn)了該目標(biāo)。
其中x指向待排序的整型數(shù)組,len是數(shù)組的長度。
void sort3p(int* x, int len){ int p = 0;int left = 0;int right = len-1;
while(p<=right){
if(x[p]<0){
int t = x[left];
x[left] = x[p];
x[p] = t;
left++;
p++;
}
else if(x[p]>0){
int t = x[right];
x[right] = x[p];
x[p] = t;
right--;
}
else{
____ p++_____;//填空位置
}
第6/14
頁 }
}
如果給定數(shù)組:
25,18,-2,0,16,-5,33,21,0,19,-16,25,-3,0
則排序后為:
-3,-2,-16,-5,0,0,0,21,19,33,25,16,18,25
請分析代碼邏輯,并推測劃線處的代碼,通過網(wǎng)頁提交
注意:僅把缺少的代碼作為答案,千萬不要填寫多余的代碼、符號或說明文字!
7.程序設(shè)計(滿分5分)
問題的描述在考生文件夾下對應(yīng)題號的“題目描述.txt”中。相關(guān)的參考文件在同一目錄中。請先閱讀題目,必須通過編程的方式解決問題。
注意:在評卷時使用的輸入數(shù)據(jù)與試卷中給出的示例數(shù)據(jù)可能是不同的。選手的程序必須是通用的,不能只對試卷中給定的數(shù)據(jù)有效。
仔細(xì)閱讀程序的輸入、輸出要求,千萬不要輸出沒有要求的、多余的內(nèi)容,例如:“請您輸入xx數(shù)據(jù):”。
建議仔細(xì)閱讀示例,不要想當(dāng)然!
程序處理完一個用例的數(shù)據(jù)后,立即退出(return 0),千萬不要循環(huán)等待下一個用例的輸入。
程序必須使用標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出,以便于機(jī)器評卷時重定向。
對于編程題目,要求選手給出的解答完全符合ANSI C++標(biāo)準(zhǔn),不能使用諸如繪圖、Win32API、中斷調(diào)用、硬件操作或與操作系統(tǒng)相關(guān)的API。
代碼中允許使用STL類庫,但不能使用MFC或ATL等非ANSI C++標(biāo)準(zhǔn)的類庫。例如,不能使用CString類型(屬于MFC類庫)。
注意: main函數(shù)結(jié)尾需要return 0 注意: 所有依賴的函數(shù)必須明確地在源文件中 #include
所有代碼放在同一個源文件中,調(diào)試通過后,拷貝提交該源碼。提交時,注意選擇所期望的編譯器類型。標(biāo)題:核桃的數(shù)量
小張是軟件項目經(jīng)理,他帶領(lǐng)3個開發(fā)組。工期緊,今天都在加班呢。為鼓舞士氣,小張打算給每個組發(fā)一袋核桃(據(jù)傳言能補腦)。他的要求是:
1.各組的核桃數(shù)量必須相同
2.各組內(nèi)必須能平分核桃(當(dāng)然是不能打碎的)
3.盡量提供滿足1,2條件的最小數(shù)量(節(jié)約鬧革命嘛)
第7/14
頁
程序從標(biāo)準(zhǔn)輸入讀入: a b c a,b,c都是正整數(shù),表示每個組正在加班的人數(shù),用空格分開(a,b,c<30)
程序輸出:
一個正整數(shù),表示每袋核桃的數(shù)量。
例如: 用戶輸入: 2 4 5
程序輸出: 20
再例如: 用戶輸入: 3 1 1
程序輸出: 3
8.程序設(shè)計(滿分12分)
問題的描述在考生文件夾下對應(yīng)題號的“題目描述.txt”中。相關(guān)的參考文件在同一目錄中。請先閱讀題目,必須通過編程的方式解決問題。
注意:在評卷時使用的輸入數(shù)據(jù)與試卷中給出的示例數(shù)據(jù)可能是不同的。選手的程序必須是通用的,不能只對試卷中給定的數(shù)據(jù)有效。
仔細(xì)閱讀程序的輸入、輸出要求,千萬不要輸出沒有要求的、多余的內(nèi)容,例如:“請您輸入xx數(shù)據(jù):”。
建議仔細(xì)閱讀示例,不要想當(dāng)然!
程序處理完一個用例的數(shù)據(jù)后,立即退出(return 0),千萬不要循環(huán)等待下一個用例的輸入。
程序必須使用標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出,以便于機(jī)器評卷時重定向。
對于編程題目,要求選手給出的解答完全符合ANSI C++標(biāo)準(zhǔn),不能使用諸如繪圖、Win32API、中斷調(diào)用、硬件操作或與操作系統(tǒng)相關(guān)的API。
代碼中允許使用STL類庫,但不能使用MFC或ATL等非ANSI C++標(biāo)準(zhǔn)的類庫。例如,不能使用CString類型(屬于MFC類庫)。
注意: main函數(shù)結(jié)尾需要return 0 注意: 所有依賴的函數(shù)必須明確地在源文件中 #include
所有代碼放在同一個源文件中,調(diào)試通過后,拷貝提交該源碼。提交時,注意選擇所期望的編譯器類型。
第8/14
頁 題目標(biāo)題:打印十字圖
小明為某機(jī)構(gòu)設(shè)計了一個十字型的徽標(biāo)(并非紅十字會啊),如下所示(可參見p1.jpg)
$$$$$$$$$$$$$
$
$
$$$ $$$$$$$$$ $$$
$
$
$
$
$ $$$ $$$$$ $$$ $
$ $
$
$
$ $
$ $ $$$ $ $$$ $ $
$ $ $
$
$ $ $
$ $ $ $$$$$ $ $ $
$ $ $
$
$ $ $
$ $ $$$ $ $$$ $ $
$ $
$
$
$ $
$ $$$ $$$$$ $$$ $
$
$
$
$
$$$ $$$$$$$$$ $$$
$
$
$$$$$$$$$$$$$
對方同時也需要在電腦dos窗口中以字符的形式輸出該標(biāo)志,并能任意控制層數(shù)。
為了能準(zhǔn)確比對空白的數(shù)量,程序要求對行中的空白以句點(.)代替。
輸入格式:
一個正整數(shù) n(n<30)表示要求打印圖形的層數(shù)
輸出:
對應(yīng)包圍層數(shù)的該標(biāo)志。
例如: 用戶輸入: 1 程序應(yīng)該輸出:..$$$$$....$...$..$$$.$.$$$ $...$...$ $.$$$$$.$ $...$...$ $$$.$.$$$
第9/14 頁
..$...$....$$$$$..再例如: 用戶輸入: 3 程序應(yīng)該輸出:..$$$$$$$$$$$$$....$...........$..$$$.$$$$$$$$$.$$$ $...$.......$...$ $.$$$.$$$$$.$$$.$ $.$...$...$...$.$ $.$.$$$.$.$$$.$.$ $.$.$...$...$.$.$ $.$.$.$$$$$.$.$.$ $.$.$...$...$.$.$ $.$.$$$.$.$$$.$.$ $.$...$...$...$.$ $.$$$.$$$$$.$$$.$ $...$.......$...$ $$$.$$$$$$$$$.$$$..$...........$....$$$$$$$$$$$$$..請仔細(xì)觀察樣例,尤其要注意句點的數(shù)量和輸出位置。第10/14 頁
9.程序設(shè)計(滿分15分)
問題的描述在考生文件夾下對應(yīng)題號的“題目描述.txt”中。相關(guān)的參考文件在同一目錄中。請先閱讀題目,必須通過編程的方式解決問題。
注意:在評卷時使用的輸入數(shù)據(jù)與試卷中給出的示例數(shù)據(jù)可能是不同的。選手的程序必須是通用的,不能只對試卷中給定的數(shù)據(jù)有效。
仔細(xì)閱讀程序的輸入、輸出要求,千萬不要輸出沒有要求的、多余的內(nèi)容,例如:“請您輸入xx數(shù)據(jù):”。
建議仔細(xì)閱讀示例,不要想當(dāng)然!
程序處理完一個用例的數(shù)據(jù)后,立即退出(return 0),千萬不要循環(huán)等待下一個用例的輸入。
程序必須使用標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出,以便于機(jī)器評卷時重定向。
對于編程題目,要求選手給出的解答完全符合ANSI C++標(biāo)準(zhǔn),不能使用諸如繪圖、Win32API、中斷調(diào)用、硬件操作或與操作系統(tǒng)相關(guān)的API。
代碼中允許使用STL類庫,但不能使用MFC或ATL等非ANSI C++標(biāo)準(zhǔn)的類庫。例如,不能使用CString類型(屬于MFC類庫)。
注意: main函數(shù)結(jié)尾需要return 0 注意: 所有依賴的函數(shù)必須明確地在源文件中 #include
所有代碼放在同一個源文件中,調(diào)試通過后,拷貝提交該源碼。提交時,注意選擇所期望的編譯器類型。
第11/14
頁 標(biāo)題:帶分?jǐn)?shù)
可以表示為帶分?jǐn)?shù)的形式:100 = 3 + 69258 / 714
還可以表示為:100 = 82 + 3546 / 197
注意特征:帶分?jǐn)?shù)中,數(shù)字1~9分別出現(xiàn)且只出現(xiàn)一次(不包含0)。
類似這樣的帶分?jǐn)?shù),100 有 11 種表示法。
題目要求:
從標(biāo)準(zhǔn)輸入讀入一個正整數(shù)N(N<1000*1000)程序輸出該數(shù)字用數(shù)碼1~9不重復(fù)不遺漏地組成帶分?jǐn)?shù)表示的全部種數(shù)。注意:不要求輸出每個表示,只統(tǒng)計有多少表示法!
例如: 用戶輸入: 100 程序輸出: 11
再例如: 用戶輸入: 105 程序輸出: 6
10.程序設(shè)計(滿分25分)
問題的描述在考生文件夾下對應(yīng)題號的“題目描述.txt”中。相關(guān)的參考文件在同一目錄中。請先閱讀題目,必須通過編程的方式解決問題。
注意:在評卷時使用的輸入數(shù)據(jù)與試卷中給出的示例數(shù)據(jù)可能是不同的。選手的程序必須是通用的,不能只對試卷中給定的數(shù)據(jù)有效。
仔細(xì)閱讀程序的輸入、輸出要求,千萬不要輸出沒有要求的、多余的內(nèi)容,例如:“請您輸入xx數(shù)據(jù):”。
建議仔細(xì)閱讀示例,不要想當(dāng)然!
程序處理完一個用例的數(shù)據(jù)后,立即退出(return 0),千萬不要循環(huán)等待下一個用例的輸入。
程序必須使用標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出,以便于機(jī)器評卷時重定向。
對于編程題目,要求選手給出的解答完全符合ANSI C++標(biāo)準(zhǔn),不能使用諸如繪圖、Win32API、中斷調(diào)用、硬件操作或與操作系統(tǒng)相關(guān)的API。
第12/14
頁 代碼中允許使用STL類庫,但不能使用MFC或ATL等非ANSI C++標(biāo)準(zhǔn)的類庫。例如,不能使用CString類型(屬于MFC類庫)。
注意: main函數(shù)結(jié)尾需要return 0 注意: 所有依賴的函數(shù)必須明確地在源文件中 #include
所有代碼放在同一個源文件中,調(diào)試通過后,拷貝提交該源碼。提交時,注意選擇所期望的編譯器類型。標(biāo)題:剪格子
如圖p1.jpg所示,3 x 3 的格子中填寫了一些整數(shù)。
我們沿著圖中的紅色線剪開,得到兩個部分,每個部分的數(shù)字和都是60。
本題的要求就是請你編程判定:對給定的m x n 的格子中的整數(shù),是否可以分割為兩個部分,使得這兩個區(qū)域的數(shù)字和相等。
如果存在多種解答,請輸出包含左上角格子的那個區(qū)域包含的格子的最小數(shù)目。
如果無法分割,則輸出 0
程序輸入輸出格式要求:
程序先讀入兩個整數(shù) m n 用空格分割(m,n<10)表示表格的寬度和高度
接下來是n行,每行m個正整數(shù),用空格分開。每個整數(shù)不大于10000 程序輸出:在所有解中,包含左上角的分割區(qū)可能包含的最小的格子數(shù)目。
例如: 用戶輸入: 3 3 10 1 52 20 30 1 1 2 3
則程序輸出: 3
第13/14
頁
再例如: 用戶輸入: 4 3 1 1 1 1 1 30 80 2 1 1 1 100
則程序輸出: 10
(參見p2.jpg)
第14/14 頁
第四篇:2013年藍(lán)橋杯全國軟件大賽預(yù)賽真題-Java專科
標(biāo)題: 猜年齡
美國數(shù)學(xué)家維納(N.Wiener)智力早熟,11歲就上了大學(xué)。他曾在1935~1936年應(yīng)邀來中國清華大學(xué)講學(xué)。
一次,他參加某個重要會議,年輕的臉孔引人注目。于是有人詢問他的年齡,他回答說:
“我年齡的立方是個4位數(shù)。我年齡的4次方是個6位數(shù)。這10個數(shù)字正好包含了從0到9這10個數(shù)字,每個都恰好出現(xiàn)1次。”
請你推算一下,他當(dāng)時到底有多年輕。
通過瀏覽器,直接提交他那時的年齡數(shù)字。
注意:不要提交解答過程,或其它的說明文字。標(biāo)題: 組素數(shù)
素數(shù)就是不能再進(jìn)行等分的數(shù)。比如:2 3 5 7 11 等。
= 3 * 3 說明它可以3等分,因而不是素數(shù)。
我們國家在1949年建國。如果只給你 1 9 4 9 這4個數(shù)字卡片,可以隨意擺放它們的先后順序(但卡片不能倒著擺放啊,我們不是在腦筋急轉(zhuǎn)彎!),那么,你能組成多少個4位的素數(shù)呢?
比如:1949,4919 都符合要求。
請你提交:能組成的4位素數(shù)的個數(shù),不要羅列這些素數(shù)!
注意:不要提交解答過程,或其它的輔助說明文字。
標(biāo)題: 馬虎的算式
小明是個急性子,上小學(xué)的時候經(jīng)常把老師寫在黑板上的題目抄錯了。
有一次,老師出的題目是:36 x 495 = ?
他卻給抄成了:396 x 45 = ?
但結(jié)果卻很戲劇性,他的答案竟然是對的!
因為 36 * 495 = 396 * 45 = 17820
類似這樣的巧合情況可能還有很多,比如:27 * 594 = 297 * 54
假設(shè) a b c d e 代表1~9不同的5個數(shù)字(注意是各不相同的數(shù)字,且不含0)
能滿足形如: ab * cde = adb * ce 這樣的算式一共有多少種呢?
請你利用計算機(jī)的優(yōu)勢尋找所有的可能,并回答不同算式的種類數(shù)。
滿足乘法交換律的算式計為不同的種類,所以答案肯定是個偶數(shù)。
答案直接通過瀏覽器提交。
注意:只提交一個表示最終統(tǒng)計種類數(shù)的數(shù)字,不要提交解答過程或其它多余的內(nèi)容。標(biāo)題: 第39級臺階
小明剛剛看完電影《第39級臺階》,離開電影院的時候,他數(shù)了數(shù)禮堂前的臺階數(shù),恰好是39級!
站在臺階前,他突然又想著一個問題:
如果我每一步只能邁上1個或2個臺階。先邁左腳,然后左右交替,最后一步是邁右腳,也就是說一共要走偶數(shù)步。那么,上完39級臺階,有多少種不同的上法呢?
請你利用計算機(jī)的優(yōu)勢,幫助小明尋找答案。
要求提交的是一個整數(shù)。
注意:不要提交解答過程,或其它的輔助說明文字。標(biāo)題:有理數(shù)類
有理數(shù)就是可以表示為兩個整數(shù)的比值的數(shù)字。一般情況下,我們用近似的小數(shù)表示。但有些時候,不允許出現(xiàn)誤差,必須用兩個整數(shù)來表示一個有理數(shù)。
這時,我們可以建立一個“有理數(shù)類”,下面的代碼初步實現(xiàn)了這個目標(biāo)。為了簡明,它只提供了加法和乘法運算。
class Rational { private long ra;private long rb;
private long gcd(long a, long b){
if(b==0)return a;
return gcd(b,a%b);} public Rational(long a, long b){
ra = a;
rb = b;
long k = gcd(ra,rb);
if(k>1){ //需要約分
ra /= k;
rb /= k;
} } // 加法
public Rational add(Rational x){
return ________________________________________;//填空位置
} // 乘法
public Rational mul(Rational x){
return new Rational(ra*x.ra, rb*x.rb);} public String toString(){
if(rb==1)return “" + ra;
return ra + ”/“ + rb;} }
使用該類的示例:
Rational a = new Rational(1,3);Rational b = new Rational(1,6);Rational c = a.add(b);System.out.println(a + ”+“ + b + ”=" + c);
請分析代碼邏輯,并推測劃線處的代碼,通過網(wǎng)頁提交
注意:僅把缺少的代碼作為答案,千萬不要填寫多余的代碼、符號或說明文字!
標(biāo)題:逆波蘭表達(dá)式
正常的表達(dá)式稱為中綴表達(dá)式,運算符在中間,主要是給人閱讀的,機(jī)器求解并不方便。
例如:3 + 5 *(2 + 6)* 三種運算符
2.每個運算數(shù)都是一個小于10的非負(fù)整數(shù)
下面的程序?qū)σ粋€逆波蘭表示串進(jìn)行求值。
其返回值為一個數(shù)組:其中第一元素表示求值結(jié)果,第二個元素表示它已解析的字符數(shù)。
static int[] evaluate(String x){
if(x.length()==0)return new int[] {0,0};
char c = x.charAt(0);
if(c>='0' && c<='9')return new int[] {c-'0',1};
int[] v1 = evaluate(x.substring(1));
int[] v2 = __________________________________________;//填空位置
int v = Integer.MAX_VALUE;
if(c=='+')v = v1[0] + v2[0];
if(c=='*')v = v1[0] * v2[0];
if(c=='-')v = v1[0]-v2[0];
return new int[] {v,1+v1[1]+v2[1]};}
請分析代碼邏輯,并推測劃線處的代碼,通過網(wǎng)頁提交。
注意:僅把缺少的代碼作為答案,千萬不要填寫多余的代碼、符號或說明文字!
標(biāo)題:核桃的數(shù)量
小張是軟件項目經(jīng)理,他帶領(lǐng)3個開發(fā)組。工期緊,今天都在加班呢。為鼓舞士氣,小張打算給每個組發(fā)一袋核桃(據(jù)傳言能補腦)。他的要求是:
1.各組的核桃數(shù)量必須相同
2.各組內(nèi)必須能平分核桃(當(dāng)然是不能打碎的)
3.盡量提供滿足1,2條件的最小數(shù)量(節(jié)約鬧革命嘛)
程序從標(biāo)準(zhǔn)輸入讀入: a b c a,b,c都是正整數(shù),表示每個組正在加班的人數(shù),用空格分開(a,b,c<30)
程序輸出:
一個正整數(shù),表示每袋核桃的數(shù)量。
例如: 用戶輸入: 2 4 5
程序輸出: 20
再例如: 用戶輸入: 3 1 1
程序輸出: 3
資源約定:
峰值內(nèi)存消耗(含虛擬機(jī))< 64M CPU消耗
< 1000ms
請嚴(yán)格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多余內(nèi)容。
所有代碼放在同一個源文件中,調(diào)試通過后,拷貝提交該源碼。注意:不要使用package語句。不要使用jdk1.6及以上版本的特性。注意:主類的名字必須是:Main,否則按無效代碼處理。
標(biāo)題:打印十字圖
小明為某機(jī)構(gòu)設(shè)計了一個十字型的徽標(biāo)(并非紅十字會啊),如下所示(可參見p1.jpg)
$$$$$$$$$$$$$
$
$
$$$ $$$$$$$$$ $$$
$
$
$
$
$ $$$ $$$$$ $$$ $
$ $
$
$
$ $
$ $ $$$ $ $$$ $ $
$ $ $
$
$ $ $
$ $ $ $$$$$ $ $ $
$ $ $
$
$ $ $
$ $ $$$ $ $$$ $ $
$ $
$
$
$ $
$ $$$ $$$$$ $$$ $
$
$
$
$
$$$ $$$$$$$$$ $$$
$
$
$$$$$$$$$$$$$
對方同時也需要在電腦dos窗口中以字符的形式輸出該標(biāo)志,并能任意控制層數(shù)。
為了能準(zhǔn)確比對空白的數(shù)量,程序要求對行中的空白以句點(.)代替。
輸入格式:
一個正整數(shù) n(n<30)表示要求打印圖形的層數(shù)
輸出:
對應(yīng)包圍層數(shù)的該標(biāo)志。
例如: 用戶輸入: 1 程序應(yīng)該輸出:..$$$$$....$...$..$$$.$.$$$ $...$...$ $.$$$$$.$ $...$...$ $$$.$.$$$..$...$....$$$$$..再例如: 用戶輸入: 3 程序應(yīng)該輸出:..$$$$$$$$$$$$$....$...........$..$$$.$$$$$$$$$.$$$ $...$.......$...$ $.$$$.$$$$$.$$$.$ $.$...$...$...$.$ $.$.$$$.$.$$$.$.$ $.$.$...$...$.$.$ $.$.$.$$$$$.$.$.$ $.$.$...$...$.$.$ $.$.$$$.$.$$$.$.$ $.$...$...$...$.$ $.$$$.$$$$$.$$$.$ $...$.......$...$ $$$.$$$$$$$$$.$$$..$...........$....$$$$$$$$$$$$$..請仔細(xì)觀察樣例,尤其要注意句點的數(shù)量和輸出位置。
資源約定:
峰值內(nèi)存消耗(含虛擬機(jī))< 64M CPU消耗
< 1000ms
請嚴(yán)格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多余內(nèi)容。
所有代碼放在同一個源文件中,調(diào)試通過后,拷貝提交該源碼。注意:不要使用package語句。不要使用jdk1.6及以上版本的特性。注意:主類的名字必須是:Main,否則按無效代碼處理。
p1.jpg
標(biāo)題:買不到的數(shù)目
小明開了一家糖果店。他別出心裁:把水果糖包成4顆一包和7顆一包的兩種。糖果不能拆包賣。
小朋友來買糖的時候,他就用這兩種包裝來組合。當(dāng)然有些糖果數(shù)目是無法組合出來的,比如要買 10 顆糖。
你可以用計算機(jī)測試一下,在這種包裝情況下,最大不能買到的數(shù)量是17。大于17的任何數(shù)字都可以用4和7組合出來。
本題的要求就是在已知兩個包裝的數(shù)量時,求最大不能組合出的數(shù)字。
輸入:
兩個正整數(shù),表示每種包裝中糖的顆數(shù)(都不多于1000)
要求輸出:
一個正整數(shù),表示最大不能買到的糖數(shù)
例如: 用戶輸入: 4 7 程序應(yīng)該輸出: 17
再例如: 用戶輸入: 3 5 程序應(yīng)該輸出: 7
資源約定:
峰值內(nèi)存消耗(含虛擬機(jī))< 64M CPU消耗
< 3000ms
請嚴(yán)格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多余內(nèi)容。
所有代碼放在同一個源文件中,調(diào)試通過后,拷貝提交該源碼。注意:不要使用package語句。不要使用jdk1.6及以上版本的特性。注意:主類的名字必須是:Main,否則按無效代碼處理。
標(biāo)題:剪格子
如圖p1.jpg所示,3 x 3 的格子中填寫了一些整數(shù)。
我們沿著圖中的紅色線剪開,得到兩個部分,每個部分的數(shù)字和都是60。
本題的要求就是請你編程判定:對給定的m x n 的格子中的整數(shù),是否可以分割為兩個部分,使得這兩個區(qū)域的數(shù)字和相等。
如果存在多種解答,請輸出包含左上角格子的那個區(qū)域包含的格子的最小數(shù)目。
如果無法分割,則輸出 0
程序輸入輸出格式要求:
程序先讀入兩個整數(shù) m n 用空格分割(m,n<10)表示表格的寬度和高度
接下來是n行,每行m個正整數(shù),用空格分開。每個整數(shù)不大于10000 程序輸出:在所有解中,包含左上角的分割區(qū)可能包含的最小的格子數(shù)目。
例如: 用戶輸入: 3 3 10 1 52 20 30 1 1 2 3
則程序輸出: 3
再例如: 用戶輸入: 4 3 1 1 1 1 1 30 80 2 1 1 1 100
則程序輸出: 10
(參見p2.jpg)
資源約定:
峰值內(nèi)存消耗(含虛擬機(jī))< 64M CPU消耗
< 5000ms
請嚴(yán)格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多余內(nèi)容。
所有代碼放在同一個源文件中,調(diào)試通過后,拷貝提交該源碼。注意:不要使用package語句。不要使用jdk1.6及以上版本的特性。注意:主類的名字必須是:Main,否則按無效代碼處理。
第五篇:“藍(lán)橋杯”軟件設(shè)計大賽獲獎總結(jié)
參加2013屆“藍(lán)橋杯”軟件設(shè)計大賽獲獎總結(jié)
我是安慶師范學(xué)院計算機(jī)科學(xué)與技術(shù)專業(yè)的一名學(xué)生,我很高興有機(jī)會參加2013屆“藍(lán)橋杯”軟件設(shè)計大賽并幸運地獲得了安徽賽區(qū)一等獎。首先要感謝的是學(xué)校、學(xué)院領(lǐng)導(dǎo)及老師對我們隊的支持和幫助。特別要感謝江偉老師、李培森老師、程譽谷老師等老師一直以來對我們精心的輔導(dǎo)和鼓勵,才有我獲獎的機(jī)會。參加“藍(lán)橋杯”軟件設(shè)計大賽是一件很有意義的事情,它不僅推動軟件開發(fā)技術(shù)的發(fā)展,促進(jìn)軟件專業(yè)技術(shù)人才培養(yǎng),向軟件行業(yè)輸送具有創(chuàng)新能力和實踐能力的高端人才還提升了高校畢業(yè)生的就業(yè)競爭力,全面推動行業(yè)發(fā)展及人才培養(yǎng)進(jìn)程。
5月5號在合肥參加了2013屆“藍(lán)橋杯”軟件設(shè)計大賽。比賽感覺不是太好。比賽的開始,看了第一道題目本打算用編程進(jìn)行解答,但花了很長時間都沒有理出思路,在上面浪費了很長的時間才通過“笨辦法”算出結(jié)果。之后就有些緊張了,由于前面花的時間太久,做后面的題時總感覺時間不夠。做到填空題時,有一道填空題不會,最后算是想出來了,卻也是浪費了很長時間。最后做編程題時,只剩下不到2個小時,匆匆忙忙寫完第三道題后時間就到了。