隨機數相關面試題

2021-09-06 07:50:37 字數 2431 閱讀 7991

1、給你乙個陣列,設計乙個既高效又公平的方法隨機打亂這個陣列(此題和洗牌演算法的思想一致)

方法比較簡單,基本思想是每次隨機取乙個數,然後把它交換到最後的位置。然後對前(n-1)個數使用遞迴的演算法。

遞迴實現: 

void suffle(int a, int n)

非遞迴實現:

void suffle(int a, int n)

}

2、有一蘋果,兩個人拋硬幣來決定誰吃這個蘋果,先拋到正面者吃。問先拋這吃到蘋果的概率是多少?

這種題目一看似乎答案就是1/2,但其實認真細想並沒有那麼簡單。給所有的拋硬幣操作從1開始編號,顯然先手者只可能在奇數(1,3,5,7…)次拋硬幣得到蘋果,而後手只可能在偶數次(2,4,6,8…)拋硬幣得到蘋果。設先手者得到蘋果的概率為p,第1次拋硬幣得到蘋果的概率為1/2,在第3次(3,5,7…)以後得到蘋果的概率為p/4(這是因為這種只有在第1次和第2次拋硬幣都沒有拋到正面(概率為1/4=1/2*1/2)的時候才有可能發生,而且此時先手者在此面臨和開始相同的局面)。所以可以列出等式p=1/2+p/4,p=2/3。如題,大家懂得……

還可以這樣算,1/2 + 1/8 + 1/16 +……+1/2^(奇數) = 2/3.

3、一條長度為l的線段,隨機在其上選2個點,將線段分為3段,問這3個子段能組成乙個三角形的概率是多少?  

設隨機選取的兩個數為x,y,並令y>x,則把長度為1的線段截得的三段長度為x, y-x ,1-y,根據三角形兩邊和大於第三邊以及兩邊之差小於第三邊的定理,可以列出方程組 y>1-y; x<1-x; x+(1-y)>y-x; 即x<1/2; y>1/2; y>x+1/2;

畫圖可以算得概率為1/8.

4、乙個面試題:快速生成10億個不重複的18位隨機數的演算法(從n個數中生成m個不重複的隨機數)

答案尚不明確。

5、你有兩個罐子以及50個紅色彈球和50個藍色彈球,隨機選出乙個罐子然後從裡面隨機選出乙個彈球,怎麼給出紅色彈球最大的選中機會?在你的計畫裡,得到紅球的機率是多少?

題目意思是兩個罐子裡面放了50紅色和50藍色彈球,然後我任選乙個罐子,從中選中乙個紅球的最大概率,是設計乙個兩個罐子裡怎麼放這100球的計畫。乙個罐子:1個紅球另乙個罐子:49個紅球,50個籃球機率=1/2+(49/99)*(1/2)=74.7%。

6、一副撲克牌54張,現分成3等份每份18張,問大小王出現在同乙份中的概率是多少?(大意如此)  

解答1:

54張牌分成3等份,共有m=(c54取18)*(c36取18)*(c18取18)種分法。其中大小王在同乙份的分法有n=(c3取1)*(c52取16)*(c36取18)*(c18取18)種。因此所求概率為p=n /m=17/53。

解答2:

不妨記三份為a、b、c份。大小王之一肯定在某乙份中,不妨假定在a份中,概率為1/3。然後a份只有17張牌中可能含有另一張王,而b份、c份則各有18張牌可能含有另一張王,因此a份中含有另一張王的概率是17/(17+18+18)=17/53。也因此可知,a份中同時含有大小王的概率為1/3 * 17/53。題目問的是出現在同乙份中的概率,因此所求概率為3*(1/3 * 17/53)=17/53。

7、a和b2人投硬幣,正面a得1元,反面b得一元.起始時a有1元,b有100元. 遊戲持續進行,直到其中1人破產才終止.

問:(出自投行面試題)

1.如果硬幣正反概率相同,遊戲的期待長度(expected duration)是幾次投擲?

2.如果硬幣是不公正的,正面概率為p,反面概率為q.(p+q=1), 那麼遊戲的期待長度(expectedduration)是幾次投擲?

目前認為只有奇數次才可能破產。

第一問:1*1/0.5 + 3*1/0.5^3 + 5*1/0.5^5

8、2d平面上有乙個三角形abc,如何從這個三角形內部隨機取乙個點,且使得在三角形內部任何點被選取的概率相同。  

在二維座標系中可以用座標(x,y)來表示圖形中的乙個點。如下圖只要能夠在各個帶雙向箭頭的圖之間的點能夠建立一一對映即可。如把乙個長方形(如正方形)的點對映到另乙個長方形的點只要把座標做相應的放大縮小即可。如把長方形的點對映到乙個直角三角形,只要將長方形右上部份的三角形的點對映到對稱的左下角的三角形的點即可。而直角三角形對映到一邊平行於x軸的三角形的對映只要做x軸相應的偏移即可。而任意三角形可以分割成兩個其中有一邊平行於x軸的三角形。說的不是很清楚,具體的對映方法可以認真思考並寫出公式。

9、平均要取多少個(0,1)中的隨機數才能讓和超過1。答案: e 次, 其中e是自然對數的底

隨機數相關面試題

1 給你乙個陣列,設計乙個既高效又公平的方法隨機打亂這個陣列 此題和洗牌演算法的思想一致 方法比較簡單,基本思想是每次隨機取乙個數,然後把它交換到最後的位置。然後對前 n 1 個數使用遞迴的演算法。遞迴實現 void suffle int a,int n 非遞迴實現 void suffle int ...

隨機數的相關面試題

當前面試中各大名企經常出現各種各樣的概率類面試題。究其原因,我覺得是概率型面試題可以綜合考查面試者的思維能力 應變能力 數學能力。在這裡對各種型別的概率型題目進行了收集和總結,希望在自我總結的同時對大家有所幫助。方法比較簡單,基本思想是每次隨機取乙個數,然後把它交換到最後的位置。然後對前 n 1 個...

隨機數的相關面試題

當前面試中各大名企經常出現各種各樣的概率類面試題。究其原因,我覺得是概率型面試題可以綜合考查面試者的思維能力 應變能力 數學能力。在這裡對各種型別的概率型題目進行了收集和總結,希望在自我總結的同時對大家有所幫助。方法比較簡單,基本思想是每次隨機取乙個數,然後把它交換到最後的位置。然後對前 n 1 個...