2023年第七屆藍橋杯試題(C C 本科B組)

2021-07-28 06:07:51 字數 1961 閱讀 6827

3.湊算式

b      def

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

c      ghi

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

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

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

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

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

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

思路:不能認為這三個數都是整數,可能3個分數加起來正好組成乙個整數,舉個例子啊1/3+2/3=1,前2個數都是分數可結果是整數,用double可能會造成精度問題,所以要最好將式子變一下,acghi+bghi+cdef=10cghi

答案:29

5.抽籤

x星球要派出乙個5人組成的觀察團前往w星。

其中:a國最多可以派出4人。

b國最多可以派出2人。

c國最多可以派出2人。

....

那麼最終派往w星的觀察團會有多少種國別的不同組合呢?

下面的程式解決了這個問題。

陣列a 中既是每個國家可以派出的最多的名額。

程式執行結果為:

defff

cefff

cdfff

cdeff

ccfff

cceff

ccdff

ccdef

befff

bdfff

bdeff

bcfff

bceff

bcdff

bcdef

....

(以下省略,總共101行)

#include

#define n 6

#define m 5

#define buf 1024

void f(int a, int k, int m, char b)

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

}int main()

;char b[buf];

f(a,0,m,b);

return 0;

}仔細閱讀**,填寫劃線部分缺少的內容。

注意:不要填寫任何已有內容或說明性文字。

#include #define n 6

#define m 5

#define buf 1024

//a為每個國家可以派出的人數,k為目前正在k國選人,m為剩餘的人數,b為儲存已經選到的人數

void f(int a, int k, int m, char b)

//列舉每個國家選的人數

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

//total表示的是滿足條件的總數,can表示的是每次剪時能連到一塊的數量

static int total = 0,can = 0;

public static void main(string args)

} sum = 1;

for (int i=1; i<=5; i++)

sum *= i;

dfs(0);

//除以5的階乘的原因是12345,12354等5的全排列都能滿足條件,而這是一種剪法

system.out.println(total / sum);

} private static void dfs(int cur)

}for (int i=0; i<3; i++) }}

}can = 0;

judge(x,y);

if (can == 5)

total++;

return;

}for (int i=1; i<=12; i++)

}}

交換瓶子 2023年第七屆藍橋杯

交換瓶子 有n個瓶子,編號 1 n,放在架子上。比如有5個瓶子 2 1 3 5 4 要求每次拿起2個瓶子,交換它們的位置。經過若干次後,使得瓶子的序號為 1 2 3 4 5 對於這麼簡單的情況,顯然,至少需要交換2次就可以復位。如果瓶子更多呢?你可以通過程式設計來解決。輸入格式為兩行 第一行 乙個正...

2016第七屆藍橋杯剪郵票

如 圖1.jpg 有12張連在一起的12生肖的郵票。現在你要從中剪下5張來,要求必須是連著的。僅僅連線乙個角不算相連 比如,圖2.jpg 圖3.jpg 中,粉紅色所示部分就是合格的剪取。請你計算,一共有多少種不同的剪取方法。請填寫表示方案數目的整數。注意 你提交的應該是乙個整數,不要填寫任何多餘的內...

2023年藍橋杯B組初賽(第七屆)

寫在前面的話,藍橋杯快要開始了。畢竟參加了就得做些準備,今天開始做一些題目練習一下,為4月1號的比賽做些準備。題目見 第一題 簡單的求和題。include include using namespace std int a 110 int main for i 1 i 100 i cout 0 第二...