乙個關於選擇的小問題

2021-06-21 21:42:38 字數 1113 閱讀 7819

以前看過這樣乙個問題:乙個人參加有獎答題,主持人給出了a、b、c三個選項。這個不知道問題的答案,就隨便選了乙個選項。然後主持人排除了剩下兩個答案中的乙個,告訴這個人有一次改變自己選項的機會。請問:這時候這個人該不該改變自己的選項?

剛看到這個問題,我的第一反映是完全沒必要,因為既然排除了乙個錯誤選項,剩下兩個選項中肯定是乙個正確乙個錯誤,那選誰都一樣,反正對錯都是50%。但是,真的是這樣嗎?

我寫了乙個程式來模擬這種選擇。程式的原理:每次隨機生成三個數字x,y,z,每次預設選擇x,然後比較y和z的值,刪去其中較小的那個。之後拿x和剩下的那個數字比較,如果x的值大,說明答案正確;反正,答案錯誤。因為三個數字都是隨機生成,所以每次選擇x或者y或者z不會影響結果。y和z其中較小的那個值不可能是最大值,所以可以刪去。

程式清單如下:

#include#include#includeint main()

else

}printf("%d %d\n",a,b);

return 0;

}

我統計了十萬組資料的結果,然後輸出的答案讓我很意外,是:33480 66520 

很接近1:2的比例。也就是說,在不改變選項的情況下,這個人選項正確的概率應該是三分之一,錯誤概率應該是三分之二。

然後我想了一下,在這個人做選擇的時候,三個選項的結果可能有三種(y代表正確,n代表錯誤):

y n n

n y n

n n y

也就是說,預設每次這個人都選擇第乙個,我們會發現,在這三種情況中,只有第一種選項是正確的,後面兩種選項都是錯誤的。但是如果這個人選擇改變自己的選項,那麼後面兩種情況他都會是正確的,只有第一種情況會是錯誤的。這樣我們可以很明顯地看到,改變選項是一種非常明智的做法。

還可以這樣解釋:在這個人做出選擇之後,結果實際上就分成了兩種,要麼正確答案是這個人的選項,要麼正確答案在剩下的選項裡。第一種情況的概率是(1/3)*1=1/3,第二種情況的概率是(1/3)*2=2/3。在主持人刪去乙個選項之後,當前選項正確的概率是多少呢?是(1/3)/1=1。那麼剩下的選項正確的概率是多少呢?(2/3)/(2-1)=2/3。這樣考慮,當然應該選擇改變自己的選項。

看到乙個很有意思的東西:點這裡

感覺世界觀被改變了。

關於Jsoup的乙個小問題

利用jsoup可以實現對網頁資訊進行有效解析和提取,例如有網頁內容如下 hello,jsoup jsoup的官方 利用jsoup提取標籤的內容,如下 document doc null trycatch ioexception ioe 提取標籤的內容 string strtitle doc.sele...

關於指標的乙個小問題

任務 c primer 4th 習題5.18 編寫程式定義乙個vector物件,其每個元素都是指向string型別的指標,讀取該vector物件,輸出每個string的內容及其相應的長度。自己的方法 string s string sarr 10 vector內的每個元素都是指向string型別的指...

乙個小問題

error c2679 binary no operator defined which takes a right hand operand of type class smanip int or there is no acceptable conversion 除錯了好久,就是找不出問題在哪。...