第五屆藍橋杯試題及題解

2021-08-18 18:30:40 字數 4424 閱讀 9167

一.第一題

二項式的係數規律,我國數學家很早就發現了。

如【圖1.png】,我國南宋數學家楊輝2023年所著的《詳解九章演算法》一書裡就出現了。

其排列規律:

11    1

1    2    1

1    3    3    1

1    4    6    4    1

1    5    10   10   5    1

1    6    15   20   15   6    1

1    7    21   35   35   21   7    1

如下的程式,用來建立n行的楊輝三角形。請填寫劃線部分缺少的**。

注意:只填寫劃線部分的**,不要填寫任何多餘的內容。

#define n 8

int main() }

return 0;

}

答案為:1673859.  最終得出的i的值就是答案。

三.第三題

有如下的加法算式。其中每個漢字代表乙個數字。

(如果存在對齊問題,可參見【圖1.png】)年大年

過大年能過大年

怎能過大年

我怎能過大年

+  讓我怎能過大年

------------------

能能能能能能能

請填寫「讓我怎能過大年」 所代表的整數。

所有數字連在一起,中間不要空格。例如:"3125697"。當然,這個不是正確的答案。

注意:只填寫乙個整數,不要填寫任何多餘的內容。

我的**:

#include //1572836

int main()}}

}} }} }

return 0;

}

所以答案為1572836,暴力就可以得出來的

第四題1193是個素數,對它迴圈移位後發現:

1931,9311,3119也都是素數,這樣特徵的數叫:迴圈素數。

你能找出具有這樣特徵的5位數的迴圈素數嗎?

當然,這樣的數字可能有很多,請寫出其中最大的乙個。

注意:答案是個5位數,不要填寫任何多餘的內容。

第五題把乙個整數的每個數字都平方後求和,又得到乙個整數,我們稱這個整數為:位平方和。

對新得到的整數仍然可以繼續這一運算過程。

比如,給定整數為4,則一系列的運算結果為:

16,37,58,89,....

本題的要求是,已知乙個整數x,求第n步的運算結果。

資料格式要求:

輸入,兩個整數x n,中間以空格分開。表示求x的第n步位平方和。其中,x,n都大於0,且小於100000。

輸出,乙個整數,表示所求結果。

例如,輸入:

4 3則程式應該輸出:

58再例如,

輸入:1314 10

則程式應該輸出:

20資源約定:

峰值記憶體消耗 < 256m

cpu消耗  < 1000ms

請嚴格按要求輸出,不要畫蛇添足地列印類似:「請您輸入...」 的多餘內容。

所有**放在同乙個原始檔中,除錯通過後,拷貝提交該原始碼。

注意: main函式需要返回0

注意: 只使用ansi c/ansi c++ 標準,不要呼叫依賴於編譯環境或作業系統的特殊函式。

注意: 所有依賴的函式必須明確地在原始檔中 #include , 不能通過工程設定而省略常用標頭檔案。

提交時,注意選擇所期望的編譯器型別。

我的**:

#include int a[100000];

int s,n,h=0;

int check(int x)

for(int i=0;i第六題

形如:1/a 的分數稱為單位分數。

可以把1分解為若干個互不相同的單位分數之和。

例如:1 = 1/2 + 1/3 + 1/9 + 1/18

1 = 1/2 + 1/3 + 1/10 + 1/15

1 = 1/3 + 1/5 + 1/7 + 1/9 + 1/11 + 1/15 + 1/35 + 1/45 + 1/231

等等,類似這樣的分解無窮無盡。

我們增加乙個約束條件:最大的分母必須不超過30

請你求出分解為n項時的所有不同分解法。

資料格式要求:

輸入乙個整數n,表示要分解為n項(n<12)

輸出分解後的單位分數項,中間用乙個空格分開。

每種分解法占用一行,行間的順序按照分母從小到大排序。

例如,輸入:

4程式應該輸出:

1/2 1/3 1/8 1/24

1/2 1/3 1/9 1/18

1/2 1/3 1/10 1/15

1/2 1/4 1/5 1/20

1/2 1/4 1/6 1/12

再例如,

輸入:5

程式應該輸出:

1/2 1/3 1/12 1/21 1/28

1/2 1/4 1/6 1/21 1/28

1/2 1/4 1/7 1/14 1/28

1/2 1/4 1/8 1/12 1/24

1/2 1/4 1/9 1/12 1/18

1/2 1/4 1/10 1/12 1/15

1/2 1/5 1/6 1/12 1/20

1/3 1/4 1/5 1/6 1/20

資源約定:

峰值記憶體消耗 < 256m

cpu消耗  < 2000ms

請嚴格按要求輸出,不要畫蛇添足地列印類似:「請您輸入...」 的多餘內容。

所有**放在同乙個原始檔中,除錯通過後,拷貝提交該原始碼。

注意: main函式需要返回0

注意: 只使用ansi c/ansi c++ 標準,不要呼叫依賴於編譯環境或作業系統的特殊函式。

注意: 所有依賴的函式必須明確地在原始檔中 #include , 不能通過工程設定而省略常用標頭檔案。

提交時,注意選擇所期望的編譯器型別。

第七題你一定聽說過「數獨」遊戲。

如【圖1.png】,玩家需要根據9×9盤面上的已知數字,推理出所有剩餘空格的數字,並滿足每一行、每一列、每乙個同色九宮內的數字均含1-9,不重複。

數獨的答案都是唯一的,所以,多個解也稱為無解。

本圖的數字據說是芬蘭數學家花了3個月的時間設計出來的較難的題目。但對會使用計算機程式設計的你來說,恐怕易如反掌了。

本題的要求就是輸入數獨題目,程式輸出數獨的唯一解。我們保證所有已知資料的格式都是合法的,並且題目有唯一的解。

格式要求,輸入9行,每行9個字元,0代表未知,其它數字為已知。

輸出9行,每行9個數字表示數獨的解。

例如:輸入(即圖中題目):

005300000

800000020

070010500

400005300

010070006

003200080

060500009

004000030

000009700

程式應該輸出:

145327698

839654127

672918543

496185372

218473956

753296481

367542819

984761235

521839764

再例如,輸入:

800000000

003600000

070090200

050007000

000045700

000100030

001000068

008500010

090000400

程式應該輸出:

812753649

943682175

675491283

154237896

369845721

287169534

521974368

438526917

796318452

資源約定:

峰值記憶體消耗 < 256m

cpu消耗  < 2000ms

請嚴格按要求輸出,不要畫蛇添足地列印類似:「請您輸入...」 的多餘內容。

所有**放在同乙個原始檔中,除錯通過後,拷貝提交該原始碼。

注意: main函式需要返回0

注意: 只使用ansi c/ansi c++ 標準,不要呼叫依賴於編譯環境或作業系統的特殊函式。

注意: 所有依賴的函式必須明確地在原始檔中 #include , 不能通過工程設定而省略常用標頭檔案。

提交時,注意選擇所期望的編譯器型別。

我的**:

還有幾道題沒有完善,稍後會更新的。

螞蟻感冒 第五屆藍橋杯

螞蟻感冒 長100厘公尺的細長直桿子上有n只螞蟻。它們的頭有的朝左,有的朝右。每只螞蟻都只能沿著桿子向前爬,速度是1厘公尺 秒。當兩隻螞蟻碰面時,它們會同時掉頭往相反的方向爬行。這些螞蟻中,有1只螞蟻感冒了。並且在和其它螞蟻碰面時,會把感冒傳染給碰到的螞蟻。請你計算,當所有螞蟻都爬離桿子時,有多少只...

第五屆藍橋杯 撲克序列

問題描述 a a 2 2 3 3 4 4,一共4對撲克牌。請你把它們排成一行。要求 兩個a中間有1張牌,兩個2之間有2張牌,兩個3之間有3張牌,兩個4之間有4張牌。請填寫出所有符合要求的排列中,字典序最小的那個。例如 22aa3344 比 a2a23344 字典序小。當然,它們都不是滿足要求的答案。...

第五屆藍橋杯決賽做題報告

第五屆藍橋杯決賽做題報告 此次比賽是我本人第一次參加全國性的程式設計比賽,比賽結果 全國c c b 組二等獎。做題情況 寫了前 5題,程式設計大題可能部分測試資料沒過,最後一題,寫了乙個多小時,當時想到用寬搜,就一直寫了下去,沒有想其他的方法,結果,寫完後題目給的測試資料都沒過,此時比賽也接近了尾聲...