第一篇:2013年藍橋杯全國軟件大賽預賽真題-Java專科
標題: 猜年齡
美國數學家維納(N.Wiener)智力早熟,11歲就上了大學。他曾在1935~1936年應邀來中國清華大學講學。
一次,他參加某個重要會議,年輕的臉孔引人注目。于是有人詢問他的年齡,他回答說:
“我年齡的立方是個4位數。我年齡的4次方是個6位數。這10個數字正好包含了從0到9這10個數字,每個都恰好出現1次。”
請你推算一下,他當時到底有多年輕。
通過瀏覽器,直接提交他那時的年齡數字。
注意:不要提交解答過程,或其它的說明文字。標題: 組素數
素數就是不能再進行等分的數。比如:2 3 5 7 11 等。
= 3 * 3 說明它可以3等分,因而不是素數。
我們國家在1949年建國。如果只給你 1 9 4 9 這4個數字卡片,可以隨意擺放它們的先后順序(但卡片不能倒著擺放啊,我們不是在腦筋急轉彎!),那么,你能組成多少個4位的素數呢?
比如:1949,4919 都符合要求。
請你提交:能組成的4位素數的個數,不要羅列這些素數!
注意:不要提交解答過程,或其它的輔助說明文字。
標題: 馬虎的算式
小明是個急性子,上小學的時候經常把老師寫在黑板上的題目抄錯了。
有一次,老師出的題目是:36 x 495 = ?
他卻給抄成了:396 x 45 = ?
但結果卻很戲劇性,他的答案竟然是對的!
因為 36 * 495 = 396 * 45 = 17820
類似這樣的巧合情況可能還有很多,比如:27 * 594 = 297 * 54
假設 a b c d e 代表1~9不同的5個數字(注意是各不相同的數字,且不含0)
能滿足形如: ab * cde = adb * ce 這樣的算式一共有多少種呢?
請你利用計算機的優勢尋找所有的可能,并回答不同算式的種類數。
滿足乘法交換律的算式計為不同的種類,所以答案肯定是個偶數。
答案直接通過瀏覽器提交。
注意:只提交一個表示最終統計種類數的數字,不要提交解答過程或其它多余的內容。標題: 第39級臺階
小明剛剛看完電影《第39級臺階》,離開電影院的時候,他數了數禮堂前的臺階數,恰好是39級!
站在臺階前,他突然又想著一個問題:
如果我每一步只能邁上1個或2個臺階。先邁左腳,然后左右交替,最后一步是邁右腳,也就是說一共要走偶數步。那么,上完39級臺階,有多少種不同的上法呢?
請你利用計算機的優勢,幫助小明尋找答案。
要求提交的是一個整數。
注意:不要提交解答過程,或其它的輔助說明文字。標題:有理數類
有理數就是可以表示為兩個整數的比值的數字。一般情況下,我們用近似的小數表示。但有些時候,不允許出現誤差,必須用兩個整數來表示一個有理數。
這時,我們可以建立一個“有理數類”,下面的代碼初步實現了這個目標。為了簡明,它只提供了加法和乘法運算。
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);
請分析代碼邏輯,并推測劃線處的代碼,通過網頁提交
注意:僅把缺少的代碼作為答案,千萬不要填寫多余的代碼、符號或說明文字!
標題:逆波蘭表達式
正常的表達式稱為中綴表達式,運算符在中間,主要是給人閱讀的,機器求解并不方便。
例如:3 + 5 *(2 + 6)* 三種運算符
2.每個運算數都是一個小于10的非負整數
下面的程序對一個逆波蘭表示串進行求值。
其返回值為一個數組:其中第一元素表示求值結果,第二個元素表示它已解析的字符數。
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]};}
請分析代碼邏輯,并推測劃線處的代碼,通過網頁提交。
注意:僅把缺少的代碼作為答案,千萬不要填寫多余的代碼、符號或說明文字!
標題:核桃的數量
小張是軟件項目經理,他帶領3個開發組。工期緊,今天都在加班呢。為鼓舞士氣,小張打算給每個組發一袋核桃(據傳言能補腦)。他的要求是:
1.各組的核桃數量必須相同
2.各組內必須能平分核桃(當然是不能打碎的)
3.盡量提供滿足1,2條件的最小數量(節約鬧革命嘛)
程序從標準輸入讀入: a b c a,b,c都是正整數,表示每個組正在加班的人數,用空格分開(a,b,c<30)
程序輸出:
一個正整數,表示每袋核桃的數量。
例如: 用戶輸入: 2 4 5
程序輸出: 20
再例如: 用戶輸入: 3 1 1
程序輸出: 3
資源約定:
峰值內存消耗(含虛擬機)< 64M CPU消耗
< 1000ms
請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多余內容。
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。注意:不要使用package語句。不要使用jdk1.6及以上版本的特性。注意:主類的名字必須是:Main,否則按無效代碼處理。
標題:打印十字圖
小明為某機構設計了一個十字型的徽標(并非紅十字會啊),如下所示(可參見p1.jpg)
$$$$$$$$$$$$$
$
$
$$$ $$$$$$$$$ $$$
$
$
$
$
$ $$$ $$$$$ $$$ $
$ $
$
$
$ $
$ $ $$$ $ $$$ $ $
$ $ $
$
$ $ $
$ $ $ $$$$$ $ $ $
$ $ $
$
$ $ $
$ $ $$$ $ $$$ $ $
$ $
$
$
$ $
$ $$$ $$$$$ $$$ $
$
$
$
$
$$$ $$$$$$$$$ $$$
$
$
$$$$$$$$$$$$$
對方同時也需要在電腦dos窗口中以字符的形式輸出該標志,并能任意控制層數。
為了能準確比對空白的數量,程序要求對行中的空白以句點(.)代替。
輸入格式:
一個正整數 n(n<30)表示要求打印圖形的層數
輸出:
對應包圍層數的該標志。
例如: 用戶輸入: 1 程序應該輸出:..$$$$$....$...$..$$$.$.$$$ $...$...$ $.$$$$$.$ $...$...$ $$$.$.$$$..$...$....$$$$$..再例如: 用戶輸入: 3 程序應該輸出:..$$$$$$$$$$$$$....$...........$..$$$.$$$$$$$$$.$$$ $...$.......$...$ $.$$$.$$$$$.$$$.$ $.$...$...$...$.$ $.$.$$$.$.$$$.$.$ $.$.$...$...$.$.$ $.$.$.$$$$$.$.$.$ $.$.$...$...$.$.$ $.$.$$$.$.$$$.$.$ $.$...$...$...$.$ $.$$$.$$$$$.$$$.$ $...$.......$...$ $$$.$$$$$$$$$.$$$..$...........$....$$$$$$$$$$$$$..請仔細觀察樣例,尤其要注意句點的數量和輸出位置。
資源約定:
峰值內存消耗(含虛擬機)< 64M CPU消耗
< 1000ms
請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多余內容。
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。注意:不要使用package語句。不要使用jdk1.6及以上版本的特性。注意:主類的名字必須是:Main,否則按無效代碼處理。
p1.jpg
標題:買不到的數目
小明開了一家糖果店。他別出心裁:把水果糖包成4顆一包和7顆一包的兩種。糖果不能拆包賣。
小朋友來買糖的時候,他就用這兩種包裝來組合。當然有些糖果數目是無法組合出來的,比如要買 10 顆糖。
你可以用計算機測試一下,在這種包裝情況下,最大不能買到的數量是17。大于17的任何數字都可以用4和7組合出來。
本題的要求就是在已知兩個包裝的數量時,求最大不能組合出的數字。
輸入:
兩個正整數,表示每種包裝中糖的顆數(都不多于1000)
要求輸出:
一個正整數,表示最大不能買到的糖數
例如: 用戶輸入: 4 7 程序應該輸出: 17
再例如: 用戶輸入: 3 5 程序應該輸出: 7
資源約定:
峰值內存消耗(含虛擬機)< 64M CPU消耗
< 3000ms
請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多余內容。
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。注意:不要使用package語句。不要使用jdk1.6及以上版本的特性。注意:主類的名字必須是:Main,否則按無效代碼處理。
標題:剪格子
如圖p1.jpg所示,3 x 3 的格子中填寫了一些整數。
我們沿著圖中的紅色線剪開,得到兩個部分,每個部分的數字和都是60。
本題的要求就是請你編程判定:對給定的m x n 的格子中的整數,是否可以分割為兩個部分,使得這兩個區域的數字和相等。
如果存在多種解答,請輸出包含左上角格子的那個區域包含的格子的最小數目。
如果無法分割,則輸出 0
程序輸入輸出格式要求:
程序先讀入兩個整數 m n 用空格分割(m,n<10)表示表格的寬度和高度
接下來是n行,每行m個正整數,用空格分開。每個整數不大于10000 程序輸出:在所有解中,包含左上角的分割區可能包含的最小的格子數目。
例如: 用戶輸入: 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)
資源約定:
峰值內存消耗(含虛擬機)< 64M CPU消耗
< 5000ms
請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多余內容。
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。注意:不要使用package語句。不要使用jdk1.6及以上版本的特性。注意:主類的名字必須是:Main,否則按無效代碼處理。
第二篇:2013藍橋杯 預賽-C高職高專組真題資料
第四屆“藍橋杯”全國軟件專業人才設計與創業大賽選拔賽
C/C++高職高專組
考生須知:
? 考試開始后,選手首先下載題目到本機不被還原的盤符,并使用考場現場公布的解壓密碼解壓試題。
? 考試時間為9:00-13:00,共4個小時。13點整時間截止時,將無法提交答案。選手因考試結束不能提交答案的,責任由選手自負。
? 在考試強制結束前,選手可以主動結束考試(需要身份驗證),結束考試后將無法繼續提交或瀏覽答案。
? 選手可瀏覽自己已經提交的答案。
? 對同一題目,選手可多次提交答案,以最后一次提交的答案為準。? 選手切勿在提交的代碼中書寫“姓名”、“考號”,“院校名”等與身份有關的信息或其它與競賽題目無關的內容,否則成績無效。
? 選手必須通過瀏覽器方式提交自己的答案。選手在其它位置的作答或其它方式提交的答案無效。
? 試題包含三種類型:“結果填空”、“代碼填空”與“程序設計”。
結果填空題:要求選手根據題目描述直接填寫結果。求解方式不限。不要求源代碼。把結果填空的答案直接通過網頁提交即可,不要書寫多余的內容。代碼填空題:要求選手在弄清給定代碼工作原理的基礎上填寫缺失的部分,使得程序邏輯正確、完整。所填寫的代碼不超過一條語句(即中間不能出現分號)。
把代碼填空的答案(僅填空處的答案,不包括題面已存在的代碼或符號)直接通過網頁提交即可,不要書寫多余的內容。
注意選擇自己使用的編譯環境。
使用ANSI C/ANSI C++ 標準,不要依賴操作系統或編譯器提供的特殊函數。程序設計題目:要求選手設計的程序對于給定的輸入能給出正確的輸出結果。考生的程序只有能運行出正確結果才有機會得分。
注意:在評卷時使用的輸入數據與試卷中給出的示例數據可能是不同的。選手的程序必須是通用的,不能只對試卷中給定的數據有效。
對于編程題目,要求選手給出的解答完全符合ANSI C++標準,不能使用諸如繪圖、Win32API、中斷調用、硬件操作或與操作系統相關的API。
代碼中允許使用STL類庫,但不能使用MFC或ATL等非ANSI C++標準的類庫。例如,不能使用CString類型(屬于MFC類庫)。
注意: main函數需要返回0 注意: 所有依賴的函數必須明確地在源文件中 #include
所有源碼必須在同一文件中。調試通過后,拷貝提交。提交時,注意選擇所期望的編譯器類型。
1.結果填空(滿分3分)問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目
第1/14
頁 錄中。請先閱讀題目,不限解決問題的方式,只要求提交結果。
必須通過瀏覽器提交答案。題目標題: 猜年齡
美國數學家維納(N.Wiener)智力早熟,11歲就上了大學。他曾在1935~1936年應邀來中國清華大學講學。
一次,他參加某個重要會議,年輕的臉孔引人注目。于是有人詢問他的年齡,他回答說:
“我年齡的立方是個4位數。我年齡的4次方是個6位數。這10個數字正好包含了從0到9這10個數字,每個都恰好出現1次。”
請你推算一下,他當時到底有多年輕。
通過瀏覽器,直接提交他那時的年齡數字。
注意:不要提交解答過程,或其它的說明文字。
答案:18
2.結果填空(滿分6分)問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,不限解決問題的方式,只要求提交結果。
必須通過瀏覽器提交答案。標題: 馬虎的算式
小明是個急性子,上小學的時候經常把老師寫在黑板上的題目抄錯了。
有一次,老師出的題目是:36 x 495 = ?
他卻給抄成了:396 x 45 = ?
但結果卻很戲劇性,他的答案竟然是對的!
因為 36 * 495 = 396 * 45 = 17820
類似這樣的巧合情況可能還有很多,比如:27 * 594 = 297 * 54
假設 a b c d e 代表1~9不同的5個數字(注意是各不相同的數字,且不含0)
能滿足形如: ab * cde = adb * ce 這樣的算式一共有多少種呢?
請你利用計算機的優勢尋找所有的可能,并回答不同算式的種類數。
滿足乘法交換律的算式計為不同的種類,所以答案肯定是個偶數。
答案直接通過瀏覽器提交。
第2/14
頁 注意:只提交一個表示最終統計種類數的數字,不要提交解答過程或其它多余的內容。
答案:3
3.結果填空(滿分8分)問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,不限解決問題的方式,只要求提交結果。
必須通過瀏覽器提交答案。標題: 振興中華
小明參加了學校的趣味運動會,其中的一個項目是:跳格子。
地上畫著一些格子,每個格子里寫一個字,如下所示:(也可參見p1.jpg)
從我做起振 我做起振興 做起振興中 起振興中華
比賽時,先站在左上角的寫著“從”字的格子里,可以橫向或縱向跳到相鄰的格子里,但不能跳到對角的格子或其它位置。一直要跳到“華”字結束。
要求跳過的路線剛好構成“從我做起振興中華”這句話。
請你幫助小明算一算他一共有多少種可能的跳躍路線呢?
答案是一個整數,請通過瀏覽器直接提交該數字。
注意:不要提交解答過程,或其它輔助說明類的內容。
4.結果填空(滿分13分)問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,不限解決問題的方式,只要求提交結果。
必須通過瀏覽器提交答案。標題: 幻方填空
第3/14
頁
幻方是把一些數字填寫在方陣中,使得行、列、兩條對角線的數字之和都相等。
歐洲最著名的幻方是德國數學家、畫家迪勒創作的版畫《憂郁》中給出的一個4階幻方。
他把1,2,3,...16 這16個數字填寫在4 x 4的方格中。
如圖p1.jpg所示,即: ? ? 13 ? ? 11 ? 10 9 ? ? * ? 15 ? 1
14
表中有些數字已經顯露出來,還有些用?和*代替。
請你計算出? 和 * 所代表的數字。并把 * 所代表的數字作為本題答案提交。
答案是一個整數,請通過瀏覽器直接提交該數字。注意:不要提交解答過程,或其它輔助說明類的內容。
5.代碼填空(滿分5分)問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,不限解決問題的方式。
只要求填寫缺失的代碼部分,千萬不要畫蛇添足,填寫多余的已有代碼或符號。必須通過瀏覽器提交答案。注意選擇自己使用的編譯環境。
題目標題:公約數公倍數
第4/14
頁
我們經常會用到求兩個整數的最大公約數和最小公倍數的功能。
下面的程序給出了一種算法。
函數 myfunc 接受兩個正整數a,b
經過運算后打印出 它們的最大公約數和最小公倍數。
此時,調用 myfunc(15,20)
將會輸出: 3 60
// 交換數值
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);// 最大公約數
printf(“%dn”,______(m/b)*(n/b)*b_________);// 最小公倍數
}
請分析代碼邏輯,并推測劃線處的代碼,通過網頁提交。
注意:僅把缺少的代碼作為答案,千萬不要填寫多余的代碼、符號或說明文字!
6.代碼填空(滿分8分)問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目
第5/14
頁 錄中。請先閱讀題目,不限解決問題的方式。
只要求填寫缺失的代碼部分,千萬不要畫蛇添足,填寫多余的已有代碼或符號。必須通過瀏覽器提交答案。注意選擇自己使用的編譯環境。
標題:三部排序
一般的排序有許多經典算法,如快速排序、希爾排序等。
但實際應用時,經常會或多或少有一些特殊的要求。我們沒必要套用那些經典算法,可以根據實際情況建立更好的解法。
比如,對一個整型數組中的數字進行分類排序:
使得負數都靠左端,正數都靠右端,0在中部。注意問題的特點是:負數區域和正數區域內并不要求有序。可以利用這個特點通過1次線性掃描就結束戰斗!
以下的程序實現了該目標。
其中x指向待排序的整型數組,len是數組的長度。
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
頁 }
}
如果給定數組:
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
請分析代碼邏輯,并推測劃線處的代碼,通過網頁提交
注意:僅把缺少的代碼作為答案,千萬不要填寫多余的代碼、符號或說明文字!
7.程序設計(滿分5分)
問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,必須通過編程的方式解決問題。
注意:在評卷時使用的輸入數據與試卷中給出的示例數據可能是不同的。選手的程序必須是通用的,不能只對試卷中給定的數據有效。
仔細閱讀程序的輸入、輸出要求,千萬不要輸出沒有要求的、多余的內容,例如:“請您輸入xx數據:”。
建議仔細閱讀示例,不要想當然!
程序處理完一個用例的數據后,立即退出(return 0),千萬不要循環等待下一個用例的輸入。
程序必須使用標準輸入、標準輸出,以便于機器評卷時重定向。
對于編程題目,要求選手給出的解答完全符合ANSI C++標準,不能使用諸如繪圖、Win32API、中斷調用、硬件操作或與操作系統相關的API。
代碼中允許使用STL類庫,但不能使用MFC或ATL等非ANSI C++標準的類庫。例如,不能使用CString類型(屬于MFC類庫)。
注意: main函數結尾需要return 0 注意: 所有依賴的函數必須明確地在源文件中 #include
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。提交時,注意選擇所期望的編譯器類型。標題:核桃的數量
小張是軟件項目經理,他帶領3個開發組。工期緊,今天都在加班呢。為鼓舞士氣,小張打算給每個組發一袋核桃(據傳言能補腦)。他的要求是:
1.各組的核桃數量必須相同
2.各組內必須能平分核桃(當然是不能打碎的)
3.盡量提供滿足1,2條件的最小數量(節約鬧革命嘛)
第7/14
頁
程序從標準輸入讀入: a b c a,b,c都是正整數,表示每個組正在加班的人數,用空格分開(a,b,c<30)
程序輸出:
一個正整數,表示每袋核桃的數量。
例如: 用戶輸入: 2 4 5
程序輸出: 20
再例如: 用戶輸入: 3 1 1
程序輸出: 3
8.程序設計(滿分12分)
問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,必須通過編程的方式解決問題。
注意:在評卷時使用的輸入數據與試卷中給出的示例數據可能是不同的。選手的程序必須是通用的,不能只對試卷中給定的數據有效。
仔細閱讀程序的輸入、輸出要求,千萬不要輸出沒有要求的、多余的內容,例如:“請您輸入xx數據:”。
建議仔細閱讀示例,不要想當然!
程序處理完一個用例的數據后,立即退出(return 0),千萬不要循環等待下一個用例的輸入。
程序必須使用標準輸入、標準輸出,以便于機器評卷時重定向。
對于編程題目,要求選手給出的解答完全符合ANSI C++標準,不能使用諸如繪圖、Win32API、中斷調用、硬件操作或與操作系統相關的API。
代碼中允許使用STL類庫,但不能使用MFC或ATL等非ANSI C++標準的類庫。例如,不能使用CString類型(屬于MFC類庫)。
注意: main函數結尾需要return 0 注意: 所有依賴的函數必須明確地在源文件中 #include
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。提交時,注意選擇所期望的編譯器類型。
第8/14
頁 題目標題:打印十字圖
小明為某機構設計了一個十字型的徽標(并非紅十字會啊),如下所示(可參見p1.jpg)
$$$$$$$$$$$$$
$
$
$$$ $$$$$$$$$ $$$
$
$
$
$
$ $$$ $$$$$ $$$ $
$ $
$
$
$ $
$ $ $$$ $ $$$ $ $
$ $ $
$
$ $ $
$ $ $ $$$$$ $ $ $
$ $ $
$
$ $ $
$ $ $$$ $ $$$ $ $
$ $
$
$
$ $
$ $$$ $$$$$ $$$ $
$
$
$
$
$$$ $$$$$$$$$ $$$
$
$
$$$$$$$$$$$$$
對方同時也需要在電腦dos窗口中以字符的形式輸出該標志,并能任意控制層數。
為了能準確比對空白的數量,程序要求對行中的空白以句點(.)代替。
輸入格式:
一個正整數 n(n<30)表示要求打印圖形的層數
輸出:
對應包圍層數的該標志。
例如: 用戶輸入: 1 程序應該輸出:..$$$$$....$...$..$$$.$.$$$ $...$...$ $.$$$$$.$ $...$...$ $$$.$.$$$
第9/14 頁
..$...$....$$$$$..再例如: 用戶輸入: 3 程序應該輸出:..$$$$$$$$$$$$$....$...........$..$$$.$$$$$$$$$.$$$ $...$.......$...$ $.$$$.$$$$$.$$$.$ $.$...$...$...$.$ $.$.$$$.$.$$$.$.$ $.$.$...$...$.$.$ $.$.$.$$$$$.$.$.$ $.$.$...$...$.$.$ $.$.$$$.$.$$$.$.$ $.$...$...$...$.$ $.$$$.$$$$$.$$$.$ $...$.......$...$ $$$.$$$$$$$$$.$$$..$...........$....$$$$$$$$$$$$$..請仔細觀察樣例,尤其要注意句點的數量和輸出位置。第10/14 頁
9.程序設計(滿分15分)
問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,必須通過編程的方式解決問題。
注意:在評卷時使用的輸入數據與試卷中給出的示例數據可能是不同的。選手的程序必須是通用的,不能只對試卷中給定的數據有效。
仔細閱讀程序的輸入、輸出要求,千萬不要輸出沒有要求的、多余的內容,例如:“請您輸入xx數據:”。
建議仔細閱讀示例,不要想當然!
程序處理完一個用例的數據后,立即退出(return 0),千萬不要循環等待下一個用例的輸入。
程序必須使用標準輸入、標準輸出,以便于機器評卷時重定向。
對于編程題目,要求選手給出的解答完全符合ANSI C++標準,不能使用諸如繪圖、Win32API、中斷調用、硬件操作或與操作系統相關的API。
代碼中允許使用STL類庫,但不能使用MFC或ATL等非ANSI C++標準的類庫。例如,不能使用CString類型(屬于MFC類庫)。
注意: main函數結尾需要return 0 注意: 所有依賴的函數必須明確地在源文件中 #include
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。提交時,注意選擇所期望的編譯器類型。
第11/14
頁 標題:帶分數
可以表示為帶分數的形式:100 = 3 + 69258 / 714
還可以表示為:100 = 82 + 3546 / 197
注意特征:帶分數中,數字1~9分別出現且只出現一次(不包含0)。
類似這樣的帶分數,100 有 11 種表示法。
題目要求:
從標準輸入讀入一個正整數N(N<1000*1000)程序輸出該數字用數碼1~9不重復不遺漏地組成帶分數表示的全部種數。注意:不要求輸出每個表示,只統計有多少表示法!
例如: 用戶輸入: 100 程序輸出: 11
再例如: 用戶輸入: 105 程序輸出: 6
10.程序設計(滿分25分)
問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,必須通過編程的方式解決問題。
注意:在評卷時使用的輸入數據與試卷中給出的示例數據可能是不同的。選手的程序必須是通用的,不能只對試卷中給定的數據有效。
仔細閱讀程序的輸入、輸出要求,千萬不要輸出沒有要求的、多余的內容,例如:“請您輸入xx數據:”。
建議仔細閱讀示例,不要想當然!
程序處理完一個用例的數據后,立即退出(return 0),千萬不要循環等待下一個用例的輸入。
程序必須使用標準輸入、標準輸出,以便于機器評卷時重定向。
對于編程題目,要求選手給出的解答完全符合ANSI C++標準,不能使用諸如繪圖、Win32API、中斷調用、硬件操作或與操作系統相關的API。
第12/14
頁 代碼中允許使用STL類庫,但不能使用MFC或ATL等非ANSI C++標準的類庫。例如,不能使用CString類型(屬于MFC類庫)。
注意: main函數結尾需要return 0 注意: 所有依賴的函數必須明確地在源文件中 #include
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。提交時,注意選擇所期望的編譯器類型。標題:剪格子
如圖p1.jpg所示,3 x 3 的格子中填寫了一些整數。
我們沿著圖中的紅色線剪開,得到兩個部分,每個部分的數字和都是60。
本題的要求就是請你編程判定:對給定的m x n 的格子中的整數,是否可以分割為兩個部分,使得這兩個區域的數字和相等。
如果存在多種解答,請輸出包含左上角格子的那個區域包含的格子的最小數目。
如果無法分割,則輸出 0
程序輸入輸出格式要求:
程序先讀入兩個整數 m n 用空格分割(m,n<10)表示表格的寬度和高度
接下來是n行,每行m個正整數,用空格分開。每個整數不大于10000 程序輸出:在所有解中,包含左上角的分割區可能包含的最小的格子數目。
例如: 用戶輸入: 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第四屆藍橋杯大賽真題(高職組)
題目1標題: 猜年齡
美國數學家維納(N.Wiener)智力早熟,11歲就上了大學。他曾在1935~1936年應邀來中國清華大學講學。
一次,他參加某個重要會議,年輕的臉孔引人注目。于是有人詢問他的年齡,他回答說:
“我年齡的立方是個4位數。我年齡的4次方是個6位數。這10個數字正好包含了從0到9這10個數字,每個都恰好出現1次。”
請你推算一下,他當時到底有多年輕。
通過瀏覽器,直接提交他那時的年齡數字。
注意:不要提交解答過程,或其它的說明文字。
2標題: 馬虎的算式
小明是個急性子,上小學的時候經常把老師寫在黑板上的題目抄錯了。
有一次,老師出的題目是:36 x 495 = ?
他卻給抄成了:396 x 45 = ?
但結果卻很戲劇性,他的答案竟然是對的!
因為 36 * 495 = 396 * 45 = 17820
類似這樣的巧合情況可能還有很多,比如:27 * 594 = 297 * 54
假設 a b c d e 代表1~9不同的5個數字(注意是各不相同的數字,且不含0)
能滿足形如:ab * cde = adb * ce這樣的算式一共有多少種呢?
請你利用計算機的優勢尋找所有的可能,并回答不同算式的種類數。
滿足乘法交換律的算式計為不同的種類,所以答案肯定是個偶數。
答案直接通過瀏覽器提交。
注意:只提交一個表示最終統計種類數的數字,不要提交解答過程或其它多余的內容。3 標題: 振興中華
小明參加了學校的趣味運動會,其中的一個項目是:跳格子。
地上畫著一些格子,每個格子里寫一個字,如下所示:(也可參見p1.jpg)
從我做起振 我做起振興 做起振興中 起振興中華
比賽時,先站在左上角的寫著“從”字的格子里,可以橫向或縱向跳到相鄰的格子里,但不能跳到對角的格子或其它位置。一直要跳到“華”字結束。
要求跳過的路線剛好構成“從我做起振興中華”這句話。
請你幫助小明算一算他一共有多少種可能的跳躍路線呢?
答案是一個整數,請通過瀏覽器直接提交該數字。注意:不要提交解答過程,或其它輔助說明類的內容。標題: 幻方填空
幻方是把一些數字填寫在方陣中,使得行、列、兩條對角線的數字之和都相等。
歐洲最著名的幻方是德國數學家、畫家迪勒創作的版畫《憂郁》中給出的一個4階幻方。
他把1,2,3,...16 這16個數字填寫在4 x 4的方格中。
如圖p1.jpg所示,即: 16 ? ? 13 ? ? 11 ? 9 ? ? * ? 15 ? 1
表中有些數字已經顯露出來,還有些用?和*代替。
請你計算出? 和 * 所代表的數字。并把 * 所代表的數字作為本題答案提交。
答案是一個整數,請通過瀏覽器直接提交該數字。注意:不要提交解答過程,或其它輔助說明類的內容。
題目標題:公約數公倍數
我們經常會用到求兩個整數的最大公約數和最小公倍數的功能。
下面的程序給出了一種算法。
函數myfunc接受兩個正整數a,b
經過運算后打印出它們的最大公約數和最小公倍數。
此時,調用myfunc(15,20)
將會輸出: 5 60 // 交換數值
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);// 最大公約數
printf(“%dn”, ____________________________________);// 最小公倍數 }
請分析代碼邏輯,并推測劃線處的代碼,通過網頁提交。
注意:僅把缺少的代碼作為答案,千萬不要填寫多余的代碼、符號或說明文字!
標題:三部排序
一般的排序有許多經典算法,如快速排序、希爾排序等。
但實際應用時,經常會或多或少有一些特殊的要求。我們沒必要套用那些經典算法,可以根據實際情況建立更好的解法。
比如,對一個整型數組中的數字進行分類排序:
使得負數都靠左端,正數都靠右端,0在中部。注意問題的特點是:負數區域和正數區域內并不要求有序。可以利用這個特點通過1次線性掃描就結束戰斗!
以下的程序實現了該目標。
其中x指向待排序的整型數組,len是數組的長度。
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{
__________________________;//填空位置
} }
}
如果給定數組:
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
請分析代碼邏輯,并推測劃線處的代碼,通過網頁提交
注意:僅把缺少的代碼作為答案,千萬不要填寫多余的代碼、符號或說明文字!
標題:核桃的數量
小張是軟件項目經理,他帶領3個開發組。工期緊,今天都在加班呢。為鼓舞士氣,小張打算給每個組發一袋核桃(據傳言能補腦)。他的要求是:
1.各組的核桃數量必須相同
2.各組內必須能平分核桃(當然是不能打碎的)
3.盡量提供滿足1,2條件的最小數量(節約鬧革命嘛)
程序從標準輸入讀入: a b c a,b,c都是正整數,表示每個組正在加班的人數,用空格分開(a,b,c<30)
程序輸出:
一個正整數,表示每袋核桃的數量。
例如: 用戶輸入: 2 4 5
程序輸出: 20
再例如: 用戶輸入: 3 1 1
程序輸出: 3
資源約定:
峰值內存消耗(含虛擬機)< 64M CPU消耗< 1000ms
請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...”的多余內容。
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。
注意: main函數需要返回0 注意: 只使用ANSI C/ANSI C++ 標準,不要調用依賴于編譯環境或操作系統的特殊函數。注意: 所有依賴的函數必須明確地在源文件中 #include
提交時,注意選擇所期望的編譯器類型。8 題目標題:打印十字圖
小明為某機構設計了一個十字型的徽標(并非紅十字會啊),如下所示(可參見p1.jpg)
$$$$$$$$$$$$$
$
$
$$$ $$$$$$$$$ $$$
$
$
$
$
$ $$$ $$$$$ $$$ $
$ $
$
$
$ $
$ $ $$$ $ $$$ $ $
$ $ $
$
$ $ $
$ $ $ $$$$$ $ $ $
$ $ $
$
$ $ $
$ $ $$$ $ $$$ $ $
$ $
$
$
$ $
$ $$$ $$$$$ $$$ $
$
$
$
$
$$$ $$$$$$$$$ $$$
$
$
$$$$$$$$$$$$$
對方同時也需要在電腦dos窗口中以字符的形式輸出該標志,并能任意控制層數。
為了能準確比對空白的數量,程序要求對行中的空白以句點(.)代替。
輸入格式:
一個正整數 n(n<30)表示要求打印圖形的層數
輸出:
對應包圍層數的該標志。
例如: 用戶輸入: 1 程序應該輸出:..$$$$$....$...$..$$$.$.$$$ $...$...$ $.$$$$$.$ $...$...$ $$$.$.$$$..$...$....$$$$$..再例如: 用戶輸入: 3 程序應該輸出:..$$$$$$$$$$$$$....$...........$..$$$.$$$$$$$$$.$$$ $...$.......$...$ $.$$$.$$$$$.$$$.$ $.$...$...$...$.$ $.$.$$$.$.$$$.$.$ $.$.$...$...$.$.$ $.$.$.$$$$$.$.$.$ $.$.$...$...$.$.$ $.$.$$$.$.$$$.$.$ $.$...$...$...$.$ $.$$$.$$$$$.$$$.$ $...$.......$...$ $$$.$$$$$$$$$.$$$..$...........$....$$$$$$$$$$$$$..請仔細觀察樣例,尤其要注意句點的數量和輸出位置。
資源約定:
峰值內存消耗< 64M CPU消耗< 1000ms
請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...”的多余內容。
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。
注意: main函數需要返回0 注意: 只使用ANSI C/ANSI C++ 標準,不要調用依賴于編譯環境或操作系統的特殊函數。注意: 所有依賴的函數必須明確地在源文件中 #include
提交時,注意選擇所期望的編譯器類型。標題:帶分數
可以表示為帶分數的形式:100 = 3 + 69258 / 714
還可以表示為:100 = 82 + 3546 / 197
注意特征:帶分數中,數字1~9分別出現且只出現一次(不包含0)。
類似這樣的帶分數,100 有 11 種表示法。
題目要求:
從標準輸入讀入一個正整數N(N<1000*1000)程序輸出該數字用數碼1~9不重復不遺漏地組成帶分數表示的全部種數。注意:不要求輸出每個表示,只統計有多少表示法!
例如: 用戶輸入: 100 程序輸出: 11
再例如: 用戶輸入: 105 程序輸出: 6
資源約定:
峰值內存消耗< 64M CPU消耗< 3000ms
請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...”的多余內容。
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。
注意: main函數需要返回0 注意: 只使用ANSI C/ANSI C++ 標準,不要調用依賴于編譯環境或操作系統的特殊函數。注意: 所有依賴的函數必須明確地在源文件中 #include
提交時,注意選擇所期望的編譯器類型。
標題:剪格子
如圖p1.jpg所示,3 x 3 的格子中填寫了一些整數。
我們沿著圖中的紅色線剪開,得到兩個部分,每個部分的數字和都是60。
本題的要求就是請你編程判定:對給定的m x n 的格子中的整數,是否可以分割為兩個部分,使得這兩個區域的數字和相等。
如果存在多種解答,請輸出包含左上角格子的那個區域包含的格子的最小數目。如果無法分割,則輸出 0
程序輸入輸出格式要求:
程序先讀入兩個整數 m n 用空格分割(m,n<10)表示表格的寬度和高度
接下來是n行,每行m個正整數,用空格分開。每個整數不大于10000 程序輸出:在所有解中,包含左上角的分割區可能包含的最小的格子數目。
例如: 用戶輸入: 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)
資源約定:
峰值內存消耗< 64M CPU消耗< 5000ms
請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...”的多余內容。
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。
注意: main函數需要返回0 注意: 只使用ANSI C/ANSI C++ 標準,不要調用依賴于編譯環境或操作系統的特殊函數。注意: 所有依賴的函數必須明確地在源文件中 #include
提交時,注意選擇所期望的編譯器類型。
第四篇:藍橋杯全國軟件專業人才設計與創業大賽的通知
工業和信息化部人才交流中心
教育部高等學校計算機科學與技術教學指導委員會
工信人才[2011]109號
關于舉辦第三屆“藍橋杯”
全國軟件人才設計與創業大賽的通知
各有關院校:
為了進一步推動我國軟件行業專業人才隊伍建設,加快高等院校計算機類專業教學創新與改革,激發大學生在軟件開發領域的學習和研究興趣,提高高等院校學生的自主創新意識和工程實踐能力,為行業培養和選拔一批優秀的軟件人才,工業和信息化部人才交流中心、教育部高等學校計算機科學與技術教學指導委員會決定聯合舉辦第三屆“藍橋杯”全國軟件專業人才設計與創業大賽。
大賽分為JAVA軟件開發、C/C++程序設計、創業大賽三個項目,并分別設置本科組合高職高專組,所有具有正式學籍的本科和高職高專學生(以報名時狀態為準)均可參加。
IBM公司和英特爾公司作為官方戰略合作伙伴對大賽提供贊助支持和技術服務。各項目具體事宜請參看大賽官方網站:www.tmdps.cn,請各有關院校根據本校實際,積極組織學生參加,報名截止日期2011年12月20日。
大會組委會聯系方式
通信地址:北京市海淀區萬壽路27號工業和信息化部18#信箱(100846)
聯系電話:010—68208663,010—68208667
電子郵箱:rjds@ ncic.gov.vn
第五篇:2013第四屆藍橋杯java高職組賽題
第四屆“藍橋杯”全國軟件專業人才設計與創業大賽選拔賽
Java高職高專組
1.標題: 猜年齡
美國數學家維納(N.Wiener)智力早熟,11歲就上了大學。他曾在1935~1936年應邀來中國清華大學講學。
一次,他參加某個重要會議,年輕的臉孔引人注目。于是有人詢問他的年齡,他回答說:
“我年齡的立方是個4位數。我年齡的4次方是個6位數。這10個數字正好包含了從0到9這10個數字,每個都恰好出現1次。”
請你推算一下,他當時到底有多年輕。
通過瀏覽器,直接提交他那時的年齡數字。
注意:不要提交解答過程,或其它的說明文字。
2.標題: 組素數
素數就是不能再進行等分的數。比如:2 3 5 7 11 等。
= 3 * 3 說明它可以3等分,因而不是素數。
我們國家在1949年建國。如果只給你 1 9 4 9 這4個數字卡片,可以隨意擺放它們的先后順序(但卡片不能倒著擺放啊,我們不是在腦筋急轉彎!),那么,你能組成多少個4位的素數呢?
比如:1949,4919 都符合要求。
請你提交:能組成的4位素數的個數,不要羅列這些素數!
注意:不要提交解答過程,或其它的輔助說明文字。3.標題: 馬虎的算式
小明是個急性子,上小學的時候經常把老師寫在黑板上的題目抄錯了。
有一次,老師出的題目是:36 x 495 = ?
他卻給抄成了:396 x 45 = ?
但結果卻很戲劇性,他的答案竟然是對的!
因為 36 * 495 = 396 * 45 = 17820
類似這樣的巧合情況可能還有很多,比如:27 * 594 = 297 * 54
假設 a b c d e 代表1~9不同的5個數字(注意是各不相同的數字,且不含0)
能滿足形如: ab * cde = adb * ce 這樣的算式一共有多少種呢?
請你利用計算機的優勢尋找所有的可能,并回答不同算式的種類數。
滿足乘法交換律的算式計為不同的種類,所以答案肯定是個偶數。
答案直接通過瀏覽器提交。
注意:只提交一個表示最終統計種類數的數字,不要提交解答過程或其它多余的內容。
4.標題: 第39級臺階
小明剛剛看完電影《第39級臺階》,離開電影院的時候,他數了數禮堂前的臺階數,恰好是39級!
站在臺階前,他突然又想著一個問題:
如果我每一步只能邁上1個或2個臺階。先邁左腳,然后左右交替,最后一步是邁右腳,也就是說一共要走偶數步。那么,上完39級臺階,有多少種不同的上法呢?
請你利用計算機的優勢,幫助小明尋找答案。
要求提交的是一個整數。
注意:不要提交解答過程,或其它的輔助說明文字。
5.標題:有理數類
有理數就是可以表示為兩個整數的比值的數字。一般情況下,我們用近似的小數表示。但有些時候,不允許出現誤差,必須用兩個整數來表示一個有理數。
這時,我們可以建立一個“有理數類”,下面的代碼初步實現了這個目標。為了簡明,它只提供了加法和乘法運算。
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);
請分析代碼邏輯,并推測劃線處的代碼,通過網頁提交
注意:僅把缺少的代碼作為答案,千萬不要填寫多余的代碼、符號或說明文字!
6.標題:逆波蘭表達式
正常的表達式稱為中綴表達式,運算符在中間,主要是給人閱讀的,機器求解并不方便。
例如:3 + 5 *(2 + 6)* 三種運算符
2.每個運算數都是一個小于10的非負整數
下面的程序對一個逆波蘭表示串進行求值。
其返回值為一個數組:其中第一元素表示求值結果,第二個元素表示它已解析的字符數。
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]};}
請分析代碼邏輯,并推測劃線處的代碼,通過網頁提交。
注意:僅把缺少的代碼作為答案,千萬不要填寫多余的代碼、符號或說明文字!7.標題:核桃的數量
小張是軟件項目經理,他帶領3個開發組。工期緊,今天都在加班呢。為鼓舞士氣,小張打算給每個組發一袋核桃(據傳言能補腦)。他的要求是:
1.各組的核桃數量必須相同
2.各組內必須能平分核桃(當然是不能打碎的)
3.盡量提供滿足1,2條件的最小數量(節約鬧革命嘛)
程序從標準輸入讀入: a b c a,b,c都是正整數,表示每個組正在加班的人數,用空格分開(a,b,c<30)
程序輸出:
一個正整數,表示每袋核桃的數量。
例如: 用戶輸入: 2 4 5
程序輸出: 20
再例如: 用戶輸入: 3 1 1
程序輸出: 3
資源約定:
峰值內存消耗(含虛擬機)< 64M CPU消耗
< 1000ms
請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多余內容。
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。注意:不要使用package語句。不要使用jdk1.6及以上版本的特性。注意:主類的名字必須是:Main,否則按無效代碼處理。8.標題:打印十字圖
小明為某機構設計了一個十字型的徽標(并非紅十字會啊),如下所示(可參見p1.jpg)
$$$$$$$$$$$$$ $ $ $$$ $$$$$$$$$ $$$ $ $ $ $ $ $$$ $$$$$ $$$ $ $ $ $ $ $ $ $ $ $$$ $ $$$ $ $ $ $ $ $ $ $ $ $ $ $ $$$$$ $ $ $ $ $ $ $ $ $ $ $ $ $$$ $ $$$ $ $ $ $ $ $ $ $ $ $$$ $$$$$ $$$ $ $ $ $ $ $$$ $$$$$$$$$ $$$ $ $ $$$$$$$$$$$$$
對方同時也需要在電腦dos窗口中以字符的形式輸出該標志,并能任意控制層數。
為了能準確比對空白的數量,程序要求對行中的空白以句點(.)代替。
輸入格式:
一個正整數 n(n<30)表示要求打印圖形的層數
輸出:
對應包圍層數的該標志。
例如: 用戶輸入: 1 程序應該輸出:
再例如: 用戶輸入: 3 程序應該輸出:
..$$$$$....$...$..$$$.$.$$$ $...$...$ $.$$$$$.$ $...$...$ $$$.$.$$$..$...$....$$$$$....$$$$$$$$$$$$$....$...........$..$$$.$$$$$$$$$.$$$ $...$.......$...$ $.$$$.$$$$$.$$$.$ $.$...$...$...$.$ $.$.$$$.$.$$$.$.$ $.$.$...$...$.$.$ $.$.$.$$$$$.$.$.$ $.$.$...$...$.$.$ $.$.$$$.$.$$$.$.$ $.$...$...$...$.$ $.$$$.$$$$$.$$$.$ $...$.......$...$ $$$.$$$$$$$$$.$$$..$...........$....$$$$$$$$$$$$$..請仔細觀察樣例,尤其要注意句點的數量和輸出位置。
資源約定:
峰值內存消耗(含虛擬機)< 64M CPU消耗
< 1000ms
請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多余內容。
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。注意:不要使用package語句。不要使用jdk1.6及以上版本的特性。注意:主類的名字必須是:Main,否則按無效代碼處理。
9.標題:買不到的數目
小明開了一家糖果店。他別出心裁:把水果糖包成4顆一包和7顆一包的兩種。糖果不能拆包賣。
小朋友來買糖的時候,他就用這兩種包裝來組合。當然有些糖果數目是無法組合出來的,比如要買 10 顆糖。
你可以用計算機測試一下,在這種包裝情況下,最大不能買到的數量是17。大于17的任何數字都可以用4和7組合出來。
本題的要求就是在已知兩個包裝的數量時,求最大不能組合出的數字。
輸入:
兩個正整數,表示每種包裝中糖的顆數(都不多于1000)
要求輸出:
一個正整數,表示最大不能買到的糖數
例如: 用戶輸入: 4 7 程序應該輸出: 17
再例如: 用戶輸入: 3 5 程序應該輸出: 7
資源約定:
峰值內存消耗(含虛擬機)< 64M CPU消耗
< 3000ms
請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多余內容。
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。注意:不要使用package語句。不要使用jdk1.6及以上版本的特性。注意:主類的名字必須是:Main,否則按無效代碼處理。10.標題:剪格子
如圖p1.jpg所示,3 x 3 的格子中填寫了一些整數。
我們沿著圖中的紅色線剪開,得到兩個部分,每個部分的數字和都是60。
本題的要求就是請你編程判定:對給定的m x n 的格子中的整數,是否可以分割為兩個部分,使得這兩個區域的數字和相等。
如果存在多種解答,請輸出包含左上角格子的那個區域包含的格子的最小數目。
如果無法分割,則輸出 0
程序輸入輸出格式要求:
程序先讀入兩個整數 m n 用空格分割(m,n<10)表示表格的寬度和高度
接下來是n行,每行m個正整數,用空格分開。每個整數不大于10000 程序輸出:在所有解中,包含左上角的分割區可能包含的最小的格子數目。
例如: 用戶輸入: 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)
資源約定: 峰值內存消耗(含虛擬機)< 64M CPU消耗
< 5000ms
請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多余內容。
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。注意:不要使用package語句。不要使用jdk1.6及以上版本的特性。注意:主類的名字必須是:Main,否則按無效代碼處理。
第四屆“藍橋杯”全國軟件專業人才設計與創業大賽選拔賽
Java高職高專組
考生須知:
考試開始后,選手首先下載題目到本機不被還原的盤符,并使用考場現場公布的解壓密碼解壓試題。
考試時間為9:00-13:00,共4個小時。13點整時間截止時,將無法提交答案。選手因考試結束不能提交答案的,責任由選手自負。
在考試強制結束前,選手可以主動結束考試(需要身份驗證),結束考試后將無法繼續提交或瀏覽答案。
選手可瀏覽自己已經提交的答案。
對同一題目,選手可多次提交答案,以最后一次提交的答案為準。選手切勿在提交的代碼中書寫“姓名”、“考號”,“院校名”等與身份有關的信息或其它與競賽題目無關的內容,否則成績無效。
選手必須通過瀏覽器方式提交自己的答案。選手在其它位置的作答或其它方式提交的答案無效。
試題包含三種類型:“結果填空”、“代碼填空”與“程序設計”。
結果填空題:要求參賽選手根據題目描述直接填寫結果。求解方式不限。不要求源代碼。把結果填空的答案直接通過網頁提交即可,不要書寫多余的內容,比如:注釋說明。
代碼填空題:要求參賽選手在弄清給定代碼工作原理的基礎上填寫缺失的部分,使得程序邏輯正確、完整。所填寫的代碼不超過一條語句(即中間不能出現分號)。
把代碼填空的答案(僅填空處的答案,不包括題面已存在的代碼)直接通過網頁提交即可,不要書寫多余的內容,比如:注釋或說明文字。
程序設計題目:要求選手設計的程序對于給定的輸入能給出正確的輸出結果。考生的程序只有能運行出正確結果,才有機會得分。
注意:在評卷時使用的輸入數據與試卷中給出的示例數據可能是不同的。選手的程序必須是通用的,不能只對試卷中給定的數據有效。
所有源碼必須在同一文件中。調試通過后,拷貝提交。
注意:不要使用package語句。源程序中只能出現JDK1.5中允許的語法或調用。不能使用1.6或更高版本的特性。
注意:選手代碼的主類名必須為:Main,否則會被判為無效代碼。
結果填空(滿分3分)問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請仔細閱讀題目,不限解決問題的方式,只要求提交結果。
必須通過瀏覽器提交答案。
只提交題目要求的內容,不要填寫任何多余的文字!
結果填空(滿分5分)問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,不限解決問題的方式,只要求提交結果。
必須通過瀏覽器提交答案。
結果填空(滿分8分)問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,不限解決問題的方式,只要求提交結果。
必須通過瀏覽器提交答案。
結果填空(滿分12分)問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,不限解決問題的方式,只要求提交結果。
必須通過瀏覽器提交答案。
代碼填空(滿分6分)問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,不限解決問題的方式。
只要求填寫缺失的代碼部分,千萬不要畫蛇添足,填寫多余的已有代碼或符號。必須通過瀏覽器提交答案。
代碼填空(滿分11分)問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,不限解決問題的方式。
只要求填寫缺失的代碼部分,千萬不要畫蛇添足,填寫多余的已有代碼或符號。必須通過瀏覽器提交答案。
程序設計(滿分4分)
問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,必須通過編程的方式解決問題。
注意:在評卷時使用的輸入數據與試卷中給出的示例數據可能是不同的。選手的程序必須是通用的,不能只對試卷中給定的數據有效。
仔細閱讀程序的輸入、輸出要求,千萬不要輸出沒有要求的、多余的內容。建議仔細閱讀示例,不要想當然!
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。不要使用package語句。
注意:選手代碼的主類名必須為:Main,否則會被判為無效代碼。
程序設計(滿分12分)問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,必須通過編程的方式解決問題。
注意:在評卷時使用的輸入數據與試卷中給出的示例數據可能是不同的。選手的程序必須是通用的,不能只對試卷中給定的數據有效。
仔細閱讀程序的輸入、輸出要求,千萬不要輸出沒有要求的、多余的內容。建議仔細閱讀示例,不要想當然!
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。不要使用package語句。
注意:選手代碼的主類名必須為:Main,否則會被判為無效代碼。
程序設計(滿分15分)
問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,必須通過編程的方式解決問題。
注意:在評卷時使用的輸入數據與試卷中給出的示例數據可能是不同的。選手的程序必須是通用的,不能只對試卷中給定的數據有效。
仔細閱讀程序的輸入、輸出要求,千萬不要輸出沒有要求的、多余的內容。建議仔細閱讀示例,不要想當然!
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。不要使用package語句。
注意:選手代碼的主類名必須為:Main,否則會被判為無效代碼。
程序設計(滿分24分)
問題的描述在考生文件夾下對應題號的“題目描述.txt”中。相關的參考文件在同一目錄中。請先閱讀題目,必須通過編程的方式解決問題。
注意:在評卷時使用的輸入數據與試卷中給出的示例數據可能是不同的。選手的程序必須是通用的,不能只對試卷中給定的數據有效。
仔細閱讀程序的輸入、輸出要求,千萬不要輸出沒有要求的、多余的內容。建議仔細閱讀示例,不要想當然!
所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。不要使用package語句。
注意:選手代碼的主類名必須為:Main,否則會被判為無效代碼。