一道概率演算法題

2022-07-02 04:15:09 字數 610 閱讀 8231

1我乙個同學**面試阿里實習生遇到的一道概率題:

有個函式foo,返回0和1的概率都是50%,讓你自己寫乙個函式,使返回0和1的概率分別是30%和70%。

這道題乍一看不知道咋下手,其實還很簡單的,相當於利用了遺傳演算法的思想,每次產生乙個數字,然後以為,一共產生四個數字,這樣就可以得到乙個四位的數字,即0~16,只要這個數字大於等於10就拋棄,這樣產生0~9的數字,而且0~9的數字出現的概率是隨機的,這樣,0~2返回0,3~9返回1,這樣,就滿足了題目要求。

2 此題的反變換。有道題說的是有個函式foo,返回0的概率是60%,返回1的概率是40%,讓你自己寫乙個函式,使返回0和1的概率是50%,

用前面說的foo函式實現,不能用像c++裡面的rand這類的函式,怎麼解?

網上看到某個牛人的答案,如下:

我的直覺,太簡單了,呼叫foo兩次即可,

連續兩次,出現 0 1 和 1 0 的概率是一樣的,於是就能構造出50%

(兩次返回 0 0 或 1 1的結果丟掉,重新呼叫)

返回0 1 -> 當作 0

返回1 0 -> 當作 1

**簡單的要屎,如下

int

half01()

}

一道概率題

一副牌,52張,隨機排列,連續三張a的概率。注意,不是連續抽三張。是放在一起,有三張連在一起的概率。對於連續抽三張,我的方法是 4 52 3 51 2 50 對於後一種,我的方法是,先算出所有排列的所有個數,全排列,然後算出出現連續三張a的個數。這種連續的個數,分為兩種,一種是4張連在一起,一種是只...

一道概率題(筆試)

下面的程式是什麼意思?求出來的是什麼值?include int main printf d n rgnc return 0 這個程式蘊涵的思想是乙個1 4圓與乙個正方形比較大小的問題,如下圖 rand max是rand 函式生成的最大隨機數,rand max rand max是以該值為半徑的正方形面...

總結一道概率放縮題

概率論 有時候給定的是乙個與常用的概率表達形式不同的不等式需要你判定,這個時候,創造性的使用放縮將是很好的方法。但是,如何讓兩個看似無關的表示式有聯絡,除了特別難的需要拍腦袋外,大部分都是有跡可循,且是被暗示的。比如 設x是連續型變數,方差存在,則對任意的常數c和 0 必有p x c e x c 分...