論壇看到的乙個隨機數面試題

2021-09-30 11:10:02 字數 948 閱讀 7542

乙個程式可以生成0-1的隨機數,隨機數是小數而且位數不限 

所有生成的數排成乙個序列,如果新生成的數比前乙個數大,則序列停止生成,問序列長度的期望是多少 

大神很多,很多很牛的回答。

摘抄部分如下:

1+2 * c(n, 2)/a(n, 2) + 3 * c(n, 3)/a(n, 3) + ... + i * c(n, i)/a(n,i) + ... =  1+2 * 1/2! + 3 * 1/3! + ... + i * 1/i! + ... = 2 + 1/2! + 1/3! + 1/4! + ... + 1/i! + ... = e(泰勒級數) 

有一段python**:

from time import time 

from random import random

def ra():

randomlist=

while 1:

new=random()

if new>randomlist[-2]:

le=len(randomlist)

#print randomlist

#print le

return le

break

else:

pass

def count(n):

count=0

for i in range(n):

count+=ra()

return count/float(n)

if __name__=="__main__":

#start_time=time()

print count(10000000)

#print time()-start_time

遇到無窮數的問題時,可以假設為乙個有限數,然後去近似結果,假設為有限的數目n,然後n->無窮。

隨機數相關面試題

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

隨機數相關面試題

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

隨機數的相關面試題

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