藍橋杯C語言培訓5 博弈問題的思路 例7 古代賭局

2021-08-17 06:42:46 字數 850 閱讀 1261

題目描述:俗話說:十賭九輸。因為大多數賭局的背後都藏有陰謀。不過也不盡然,有些賭局背後藏有的是:「陽謀」。有一種賭局是這樣的:桌子上放六個匣子,編號是1至6。多位參與者(以下稱玩家)可以把任意數量的錢押在某個編號的匣子上。所有玩家都下注後,莊家同時擲出3個骰子(骰子上的數字都是1至6)。

輸贏規則如下:

1.若只有1個骰子上的數字與玩家所押注的匣子號相同,則玩家拿回自己的押注,莊家按他押注的數目賠付(即1比1的賠率)。

2.若2個骰子上的數字與玩家所押注的匣子號相同,則玩家拿回自己的押注,莊家按他押注的數目的2倍賠付(即1比2的賠率)。

3.若3個骰子上的數字都與玩家押注的匣子號相同,則玩家拿回自己的押注,莊家按他押注的數目的10倍賠付(即1比10的賠率)。

乍一看起來,好像規則對玩家有利,莊家吃虧。但經過大量實戰,會發現局面很難說,於是懷疑是否莊家做了手腳,莊家則十分爽快地說:可以由玩家提供骰子,甚至也可以由玩家來投擲骰子。

你的任務是:通過程式設計模擬該過程。模擬50萬次,假定只有1個玩家,他每次的押注都是1元錢,其押注的匣子號是隨機的。再假定莊家有足夠的資金用於賠付。最後計算出莊家的盈率(莊家盈利金額/押注總金額)。

#include#includeint a[3];

int main()

switch(count)

}printf("%f\n",1.0*ermon / 500000);

return 0;

}

執行結果:

藍橋杯 c語言高精度加法問題

藍橋杯 c語言高精度加法問題 問題描述 輸入兩個整數a和b,輸出這兩個整數的和。a和b都不超過100位。演算法描述 由於a和b都比較大,所以不能直接使用語言中的標準資料型別來儲存。對於這種問題,一般使用陣列來處理。定義乙個陣列a,a 0 用於儲存a的個位,a 1 用於儲存a的十位,依此類推。同樣可以...

藍橋杯 基礎訓練 5 查詢整數 C語言

資源限制 時間限制 1.0s 記憶體限制 256.0mb 問題描述 給出乙個包含n個整數的數列,問整數a在數列中的第一次出現是第幾個。輸入格式 第一行包含乙個整數n。第二行包含n個非負整數,為給定的數列,數列中的每個數都不大於10000。第三行包含乙個整數a,為待查詢的數。輸出格式 如果a在數列 現...

藍橋杯 2n皇后問題 精簡)C語言

問題描述 給定乙個n n的棋盤,棋盤中有一些位置不能放皇后。現在要向棋盤中放入n個黑皇后和n個白皇后,使任意的兩個黑皇后都不在同一行 同一列或同一條對角線上,任意的兩個白皇后都不在同一行 同一列或同一條對角線上。問總共有多少種放法?n小於等於8。輸入格式 輸入的第一行為乙個整數n,表示棋盤的大小。接...