第七屆藍橋杯試題及答案(1 5題)

2021-07-11 16:07:09 字數 1844 閱讀 1390

有一堆煤球,堆成三角稜錐形。具體:

第一層放1個,

第二層3個(排列成三角形),

第三層6個(排列成三角形),

第四層10個(排列成三角形),

....

如果一共有100層,共有多少個煤球?

請填表示煤球總數目的數字。

注意:你提交的應該是乙個整數,不要填寫任何多餘的內容或說明性文字。

分析:a1 = 1=1

a2 = 3=1+2

a3 = 6=1+2+3

a4 = 10=1+2+3=4

an = n(n+1)/2

#include int main()

printf("%d", sum);

return 0;

}

答案:171700

某君從某年開始每年都舉辦一次生日party,並且每次都要吹熄與年齡相同根數的蠟燭。

現在算起來,他一共吹熄了236根蠟燭。

請問,他從多少歲開始過生日party的?

請填寫他開始過生日party的年齡數。

注意:你提交的應該是乙個整數,不要填寫任何多餘的內容或說明性文字。

分析:設從n歲開始過生日,過了m次生日,直接窮舉

#include int main()

} //printf("%d", 26+27+28+29+30+31+32+33);

return 0;

}

答案:26

b      def

a + --- + ------- = 10

c      ghi

(如果顯示有問題,可以參見【圖1.jpg】)

這個算式中a~i代表1~9的數字,不同的字母代表不同的數字。

比如:6+8/3+952/714 就是一種解法,

5+3/1+972/486 是另一種解法。

這個算式一共有多少種解法?

注意:你提交應該是個整數,不要填寫任何多餘的內容或說明性文字。

分析:直接窮舉就ok了

#include int check(int a, int n)

int main()

} printf("%d", cnt);

//printf("%d\n%d", 18*714+8*714+952*3, 30*714);

return 0;

}

答案:29

排序在各種場合經常被用到。

快速排序是十分常用的高效率的演算法。

其思想是:先選乙個「標尺」,

用它把整個佇列過一遍篩子,

以保證:其左邊的元素都不大於它,其右邊的元素都不小於它。

這樣,排序問題就被分割為兩個子區間。

再分別對子區間排序就可以了。

下面的**是一種實現,請分析並填寫劃線部分缺少的**。

#include void swap(int a, int i, int j)

int partition(int a, int p, int r)

______________________;

return j;

}void quicksort(int a, int p, int r)

for(i=0; i<=a[k]; i++){

for(j=0; j

分析:這是乙個dfs搜尋吧,我當時比賽的時候是簡單分析+猜,很快就解決了

答案:f(a, k + 1, m - i, b)

第七屆藍橋杯題解

純 無解析,第七題和第十題不會答案1 171700 2.26 3.29 4.swap a,p,j 5.f a,k 1,m i,b 6.1580 第一題 煤球數目 有一堆煤球,堆成三角稜錐形。具體 第一層放1個,第二層3個 排列成三角形 第三層6個 排列成三角形 第四層10個 排列成三角形 如果一共有...

第七屆藍橋杯第三題

這道題採用dfs直接方式,產生1 9的全排列,在計算sum是否 10 另外如果是用c 可以用到庫函式next permutation 函式 該函式標頭檔案 include可以參考全排列函式 package com.huat.lanqiao7 author yanzz 功能說明 湊算式 b def a...

藍橋杯第七屆第5題

還是用到dfs的做法 深度優先搜尋演算法 英語 depth first search 簡稱dfs 是一種用於遍歷或搜尋樹或圖的演算法。沿著樹的深度遍歷樹的節點,盡可能深的搜尋樹的分支。當節點v的所在邊都己被探尋過,搜尋將回溯到發現節點v的那條邊的起始節點。這一過程一直進行到已發現從源節點可達的所有節...