原文:rand5生成rand3和rand7

問題:給定一個函數rand ,該函數可以隨機生成 的整數,且生成概率一樣。現要求使用該函數構造函數rand ,使函數rand 可以隨機等概率的生成 的整數。 思路:先擴區間,再取模,即構造大的整數區間,限制整數區間,最后映射整數區間。 rand int Rand return rand int Rand int ret while 構造出等概率的范圍 ret Rand Rand 舍棄 if ret ...

2021-03-02 17:29 0 587 推薦指數:

查看詳情

【算法題】rand5()產生rand7()

前兩天,睡覺前,偶爾翻起算法導論,看到隨機函數這一塊內容,里面有一個練習題. 5.1-2 描述random(a,b)過程的一種實現,它只調用random(0,1).作為a和b的函數,你的程序的期望運 ...

Sat Jul 28 22:41:00 CST 2012 2 8913
使用函數rand5()來實現函數rand7()

題目: 給定一個函數rand5(),該函數可以隨機生成1-5的整數,且生成概率一樣。現要求使用該函數構造函數rand7(),使函數rand7()可以隨機等概率的生成1-7的整數。 思路: 很多人的第一反應是利用rand5() + rand()%3來實現rand7()函數 ...

Mon Jul 15 19:26:00 CST 2019 0 1392
由隨機數rand5實現隨機數rand7

rand5表示生成隨機數1,2,3,4,5 rand7表示生成隨機數1,2,3,4,5,6,7 要通過rand5構造rand7現在可能沒有什么思路,我們先試着用rand7生成rand5 rand7生成rand5很簡單,把6和7排除掉就是rand5了,也就是當隨機到大於 ...

Thu Aug 01 06:50:00 CST 2019 0 531
DB2生成UUID, CONCAT (HEX (RAND ()), HEX (RAND ())) 排坑

DB2中沒有提供生成UUID的方法,一般我們常用的是CONCAT (HEX (RAND ()), HEX (RAND ())) 來生成UUID,但是大量生成的時候會產生重復數據,導致我們的唯一索引報錯。 本次采用java的自定義函數方法來生成UUID,即用java代碼的生成UUID方法來生成 ...

Mon Jul 06 23:35:00 CST 2020 0 511
利用rand7()構造rand10()

題意 已知有個rand7()的函數,返回1到7隨機自然數,讓利用這個rand7()構造rand10() 隨機1~10 參考代碼 解析 要保證rand10()均勻生成1~10的隨機數,可以構造一個0~10n的隨機數區間,這樣通過rand10n()%10+1就是所求。 現在目標 ...

Sun Sep 14 06:46:00 CST 2014 0 3251
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM