等機率隨機函數的實現

題目:已知隨機函數rand(),以p的機率產生0,以1-p的機率產生1,如今要求設計一個新的隨機函數newRand(), 使其以1/n的等機率產生1~n之間的任意一個數。 解決思路:能夠經過已知隨機函數rand()產生等機率產生0和1的新隨機函數Rand(),而後調用k(k爲整數n的二進制表示的位數)次Rand()函數,獲得一個長度爲k的0和1序列,以此序列所造成的整數即爲1--n之間的數字。注意
相關文章
相關標籤/搜索