2012第三屆藍橋杯預賽題

2021-06-29 03:14:02 字數 3842 閱讀 7201

1.      微生物增殖(用每半分鐘作為乙個增長量)

假設有兩種微生物 x 和 y

x出生後每隔3分鐘**一次(數目加倍),y出生後每隔2分鐘**一次(數目加倍)。

乙個新出生的x,半分鐘之後吃掉1個y,並且,從此開始,每隔1分鐘吃1個y。

現在已知有新出生的 x=10, y=89,求60分鐘後y的數目。

如果x=10,y=90  呢?

本題的要求就是寫出這兩種初始條件下,60分鐘後y的數目。

題目的結果令你震驚嗎?這不是簡單的數字遊戲!真實的生物圈有著同樣脆弱的性質!也許因為你消滅的那只 y 就是最終導致 y 種群滅絕的最後一根稻草!

請忍住悲傷,把答案寫在「解答.txt」中,不要寫在這裡!

兩個整數,每個1行。

0       

94371840

2.    古堡算式

福爾摩斯到某古堡探險,看到門上寫著乙個奇怪的算式:

abcde * ? = edcba

他對華生說:「abcde應該代表不同的數字,問號也代表某個數字!」

華生:「我猜也是!」

於是,兩人沉默了好久,還是沒有算出合適的結果來。

請你利用計算機的優勢,找到破解的答案。

把 abcde 所代表的數字寫出來。

答案寫在「解答.txt」中,不要寫在這裡!

#include #include using namespace std;

int main()

int main(int argc, char* argv)

;bigmul(87654321, 12345678, x);

printf("%d%d%d%d\n", x[0],x[1],x[2],x[3]);

return 0;

}

請分析**邏輯,並推測劃線處的**。

答案寫在 「解答.txt」 檔案中

注意:只寫劃線處應該填的內容,劃線前後的內容不要抄寫。

這也許是預賽10個題裡最簡單的乙個題,簡單的說就是十進位制數的進製問題。

#include #include #include using namespace std;

void bigmul(int x, int y, int r)

int main(int argc, char* argv)

;bigmul(87654321, 12345678, x);

printf("%d%d%d%d\n", x[0],x[1],x[2],x[3]);

return 0;

}

7.     

??????????????

??????????????

8.在對銀行賬戶等重要許可權設定密碼的時候,我們常常遇到這樣的煩惱:如果為了好記用生日吧,容易被破解,不安全;如果設定不好記的密碼,又擔心自己也會忘記;如果寫在紙上,擔心紙張被別人發現或弄丟了...

這個程式的任務就是把一串拼音字母轉換為6位數字(密碼)。我們可以使用任何好記的拼音串(比如名字,王喜明,就寫:wangximing)作為輸入,程式輸出6位數字。

變換的過程如下:

第一步. 把字串6個一組摺疊起來,比如wangximing則變為:

wangxi

ming

第二步. 把所有垂直在同乙個位置的字元的ascii碼值相加,得出6個數字,如上面的例子,則得出:

228 202 220 206 120 105

第三步. 再把每個數字「縮位」處理:就是把每個位的數字相加,得出的數字如果不是一位數字,就再縮位,直到變成一位數字為止。例如: 228 => 2+2+8=12 => 1+2=3

上面的數字縮位後變為:344836, 這就是程式最終的輸出結果!

要求程式從標準輸入接收資料,在標準輸出上輸出結果。

輸入格式為:第一行是乙個整數n(<100),表示下邊有多少輸入行,接下來是n行字串,就是等待變換的字串。

輸出格式為:n行變換後的6位密碼。

例如,輸入:

5zhangfeng

wangximing

jiujingfazi

woaibeijingtiananmen

haohaoxuexi

則輸出:

772243

344836

297332

716652

875843

注意:請仔細除錯!您的程式只有能執行出正確結果的時候才有機會得分!

在評卷時使用的輸入資料與試卷中給出的例項資料可能是不同的。

請把所有函式寫在同乙個檔案中,除錯好後,存入與【考生資料夾】下對應題號的「解答.txt」中即可。

相關的工程檔案不要拷入。

源**中不能能使用諸如繪圖、win32api、中斷呼叫、硬體操作或與作業系統相關的api。

允許使用stl類庫,但不能使用mfc或atl等非ansi c++標準的類庫。例如,不能使用cstring型別(屬於mfc類庫)。

#include #include #include using namespace std;

int main();

string str;

cin>>str;

int len = str.length();

int location=0;

int count=0;//分割為多少組

string tstr[100];

while(locationx )

sum[x]=sum[x]+ (int)(tstr[i][x]) ;

}int tempsum=sum[x];

while(tempsum>=10)

sum[x]=tempsum;

}for(int x=0;x<6;x++)//第x個字母

cout足球比賽具有一定程度的偶然性,弱隊也有戰勝強隊的可能。

假設有甲、乙、丙、丁四個球隊。根據他們過去比賽的成績,得出每個隊與另乙個隊對陣時取勝的概率表:

甲  乙  丙  丁   

甲   -  0.1 0.3 0.5

乙 0.9  -   0.7 0.4

丙 0.7  0.3 -   0.2

丁 0.5  0.6 0.8 -

資料含義:甲對乙的取勝概率為0.1,丙對乙的勝率為0.3,...

現在要舉行一次錦標賽。雙方抽籤,分兩個組比,獲勝的兩個隊再爭奪冠軍。(參見【1.jpg】)

請你進行10萬次模擬,計算出甲隊奪冠的概率。

注意:請仔細除錯!您的程式只有能執行出正確結果的時候才有機會得分!

在評卷時使用的輸入資料與試卷中給出的例項資料可能是不同的。

請把所有函式寫在同乙個檔案中,除錯好後,存入與【考生資料夾】下對應題號的「解答.txt」中即可。

相關的工程檔案不要拷入。

源**中不能能使用諸如繪圖、win32api、中斷呼叫、硬體操作或與作業系統相關的api。

允許使用stl類庫,但不能使用mfc或atl等非ansi c++標準的類庫。例如,不能使用cstring型別(屬於mfc類庫)。

該題涉及到模擬活動,我覺得可以用隨機數函式實現,還不知是否正確。其餘的就是對模擬結果通過取餘進行條件判斷了。

ps:自己感覺這道題很沒意思,網上好多的感覺虛擬的不對,自己感覺這樣做是對的

# include # include int main(void)

}else}}

}else if(randfigure % 3 == 1)

}else}}

}else

}else}}

}}

printf("%f\n", awin / 100000.0);

}

10、**:

第三屆藍橋杯預賽

3 任何乙個自然數m的立方均可寫成m個連續奇數之和。例如 1 3 1 2 3 3 5 3 3 7 9 11 4 3 13 15 17 19 程式設計實現 輸入一自然數n,求組成n 3的n個連續奇數。4 由鍵盤輸入乙個自然數 1 n 9 要求程式在螢幕上輸出如下圖形。時 時 時 注 應保證 在圖形中只...

2012(第三屆)預賽第四題

某電視台舉辦了低碳生活大獎賽。題目的計分規則相當奇怪 每位選手需要回答10個問題 其編號為1到10 越後面越有難度。答對的,當前分數翻倍 答錯了則扣掉與題號相同的分數 選手必須回答問題,不回答按錯誤處理 每位選手都有乙個起步的分數為10分。某獲勝選手最終得分剛好是100分,如果不讓你看比賽過程,你能...

藍橋杯2012(第三屆)第八題

include include includeusing namespace std int n int a 7 int getsum int n n sum return sum int main for int i 0 i a i i for int i 0 i 6 i printf n ret...