導航:首頁 > 源碼編譯 > 隨機抽題演算法

隨機抽題演算法

發布時間:2022-06-01 16:34:57

⑴ j2ee網上考試系統如何實現從sql資料庫題庫中隨機抽題演算法

用產生隨機數[Random]的方式來抽題。假設題庫中有1000道題,每次抽100道。
首先利用random不停地循環 產生1~1000之間的整數,並將該數據放到集合[Set]中,因集合元素唯一,所以相同的數字僅取一次,當集合的大小為100時,跳出循環。然後以集合中的這些數字作為題號向資料庫中查詢取題。

--------------------------------------------------
/**
* 產生 1~1000 之間的隨機整數
*
* @return 隨機數
*/
public Integer numFactory() {
return new Random().nextInt(1000) + 1;
}

/**
* 隨機產生 100 個題號[放入集合、互異性]
*
* @return 集合
*/
public Set<Integer> initNO() {
Set<Integer> set = new HashSet<Integer>();
while (true) {
set.add(numFactory());
// 當集合元素個數為100時跳出循環
if (set.size() > 100) {
break;
}
}
return set;
}

/**
* 將集合轉換為數組
*
* @param set
* 需要轉換的集合
* @return 目標數組
*/
public Integer[] convert(Set<Integer> set) {
Object obj[] = set.toArray();
int len = obj.length;
Integer integer[] = new Integer[len];
for (int i = 0; i < obj.length; i++) {
integer[i] = (Integer) obj[i];
}
return integer;
}

⑵ 求一個特定區域內產生隨機數不重復的演算法。

解答如下:

像這種題目就是求全排列的類型。
現在你題目中有y個數字,
第一次抽取時,共有y個數字可供選擇,因此有y種可能性。

第二次抽取時,因不能重復,所以共有y-1個數字可供選擇,因此有y-1種可能性。

第三次抽取時,也因不能重復,所以只有y-2個數字可供選擇,因此有y-2種可能性。

根據上面可以類推出第四次,第五次……第y次
因此具體的答案就為:y*(y-1)*(y-2)*(y-3)……*{y-(y-1)} = y!

⑶ 數學簡單概率題,求具體步驟演算法。謝謝!問有5個字母分別為a,b,c,d,e,隨機抽取兩個字母,抽到

隨機抽取兩個字母 一共10種情況。C52 5寫下面2寫上面

然後固定一個A。再抽一個字母只有四種情況 那麼概率是 4/10 2/5

⑷ 求 把 1800隨機分成900份 的演算法

第一節 隨機抽樣 基礎梳理 1. 簡單隨機抽樣 (1)定義:設一個總體含有N個個體,從中 抽取n個個體作為樣本(n≤N),如果每次抽取時總體內的各個個體被抽到 的機會都 ,就把這種抽樣方法叫做簡單隨機抽樣. (2)最常用的簡單隨機抽樣的方法: 和 . N n N n 2. 系統抽樣的步驟假設要從容量為N的總體中抽取容量為n的樣本. (1)先將總體的N個個體 ; (2)確定 ,對編號進行 ,當是整數時,取k= (3)在第1段用 確定第1個個體編號l(l≤k); (4)按照一定的規則抽取樣本,通常是將l加上間隔k得到第2個個體編號 ,再加k得到第3個個體編號 ,依次進行下去,直到獲取整個樣本. 3. 分層抽樣 (1)定義:在抽樣時,將總體 的層,然後按照 ,從各層獨立地抽取一定數量的個體,將各層取出的個體合在一起作為樣本,這種抽樣方法叫做分層抽樣. (2)分層抽樣的應用范圍:當總體是由 組成時,往往選用分層抽樣. 4. 三種抽樣方法比較類別 共同點 各自特點 相互聯系 適用范圍簡單隨機 抽樣抽樣過程中每個個體被抽到 的機會均等從總體中抽取總體中的 個體數較少系統抽樣 將總體 分成幾部分,按一定的規則分別在各部分中抽取在起始部分抽樣時採用抽樣總體中的 個體數較多分層抽樣 將總體分成 幾層,分層進行抽取各層抽樣時採用抽樣或抽樣總體由差異明顯的幾部分組成 答案: 1. (1)逐個不放回地 相等 (2)抽簽法 隨機數法 2. (1)編號 (2)分段間隔k 分段 (3)簡單隨機抽樣 (4)(l+k) (l+2k) 3. (1)分成互不交叉 一定的比例 (2)差異明顯的幾個部分 4. 逐個 均勻 簡單隨機 簡單隨機 系統 基礎達標 1. (教材改編題)在抽樣過程中,每次抽取的個體不再放回總體的為不放回抽樣,則分層抽樣、簡單隨機抽樣、系統抽樣中,為不放回抽樣的有( ) A.1個 B. 2個 C. 3個 D. 0個解析:三種抽樣都是不放回抽樣.答案:C 2. (教材改編題)為了解1 200名學生對學校某項教學實驗的 意見,打算從中抽取一個容量為30的樣本,考慮採用系統抽樣,則分段的間隔k為( ) A.40 B. 30 C. 20 D. 12 解析:總體容量N=1 200,樣本容量n=30,所以分段間隔k=40. 答案:A 3. (原創題)某養豬場養有四大名豬:大白豬、長白豬、杜洛克豬、漢普夏豬,其中大白豬有200頭,長白豬250頭,杜洛克豬180頭、漢普夏豬230頭,估計產量時,應採用的抽樣方法是( ) A. 分層抽樣 B. 隨機抽樣 C. 系統抽樣 D. 以上三種方法都可以解析:由於品種之間差異較大,故採用分層抽樣.答案:A 4. (2010·四川)一個單位有職工800人,其中具有高級職稱 的160人,具有中級職稱的320人,具有初級職稱的200人,其餘人員120人.為了解職工收入情況,決定採用分層抽樣的方法,從中抽取容量為40的樣本.則從上述各層中依次抽取的 人數分別是( ) A. 12,24,15,9 B. 9,12,12,7 C. 8,15,12,5 D. 8,16,10,6 5. (2009·廣東)某單位200名職工的年齡分布情況如圖,現要從中抽取40名職工作樣本.用系統抽樣法,將全體職工隨機按 1~200編號,並按編號順序平均分為40組(1~5號,6~10 號,…,196~200號).若第5組抽出的號碼為22,則第8組抽出 的號碼應是 .若用分層抽樣方法,則40歲以下年齡段應抽取 人.解析:因為抽樣比 = ,. 故各層中依次抽取的人數分別是 =8, =16, =10, 答案:D =6,故選D. 40 800 1 20 160 20 320 20 200 20 120 20 解析:由系統抽樣知第1組抽出的號碼為 2,則第8組抽出的號碼為2+5*7=37;當用分層抽樣抽取時,40歲以下年齡段應抽取 1 2 *40=20(人).答案:37 20 經典例題題型一 簡單隨機抽樣【例1】 上海世博會組委會決定從來自上海的1 800名志願者中,選取6人組成志願小組去中國館服務,請用抽簽法或隨機數法設計抽樣方案.解析:第一步,先將1 800名志願者編號,可以編為 0001,0002,0003,…,1800;第二步,在隨機數表中任選一個數,例如選出第2行第5列的 數2;第三步,從選定的數開始向右讀,依次可得0 736,0 751, 0 732,1 355,1 410,1 256為樣本的6個號碼,這樣我們就得到一個容量為6的樣本. 題型二 系統抽樣【例2】 從某廠生產的905輛家用轎車中隨機抽取90輛測試某項性能,請合理選擇抽樣方法進行抽樣,並寫出抽樣過程.解析:可用系統抽樣法進行抽樣,抽樣步驟如下:第一步,將905輛轎車用隨機方式編號;第二步,從總體中剔除5輛(剔除法可用隨機數法),將剩下的 900輛轎車重新編號(分別為001,002,…,900),並分成90段;第三步,在第一段001,002,…,010這十個編號中用簡單隨機 抽樣法抽出一個作為起始號碼(如006);第四步,把起始號碼依次加間隔10,可獲得樣本.變式2-1 下面給出某村委調查本村各戶收入情況所作的抽樣,閱讀並回答問題:本村人口:1 200人,戶數300,每戶平均人口數4人;應抽戶數:20戶;抽樣間隔: =60; 1200 20 確定隨機數字:取一張人民幣,編碼的後兩位數為12;確定第一樣本戶:編碼的後兩位數為12的戶為第一樣本戶;確定第二樣本戶:12+60=72,72號為第二樣本戶; … (1)該村委採用了何種抽樣方法? (2)抽樣過程中存在哪些問題,並修改. (3)何處是用簡單隨機抽樣?解析:(1)系統抽樣. (2)本題是對某村各戶進行抽樣,而不是對某村人口進行抽樣,抽樣間隔為 =15, 300 20 其他步驟相應改為確定隨機數字:取一張人民幣,編碼的後兩位數為12,確定第一樣本戶:編號為12的戶為第一樣本戶;確定第二樣本戶:12+15=27,27號為第二樣本戶. (3)確定隨機數字用的是簡單隨機抽樣,即「取一張人民幣,編碼的後兩位數是12」用的為簡單隨機抽樣. 題型三 分層抽樣【例3】 一中學有高一學生400人,高二學生302人,高三學生250人,現用分層抽樣法從全校所有學生中抽取一個容量為 190人的樣本,應剔除多少人?每個年級分別抽取多少人?解析:總體人數為400+302+250=952人,樣本容量為190,若按190∶952取樣,無法取得整數解,故考慮從高二學生中剔除 2人,抽取比例為190∶950=1∶5,則高一學生應抽400 =80 人,高三學生抽取250 =50人. 先從高二學生中剔除2人,高二學生抽取300 =60人,組成容量為190的樣本. 因此應從高二學生中剔除2人,高一學生抽取80人,高二學生抽取60人,高三學生抽取50人. 1 5  1 5  1 5  某學院的A,B,C三個專業共有1 200名學生,為了調查這些學生勤工儉學的情況,擬採用分層抽樣的方法抽取一個容量為 120的樣本.已知該學院的A專業有380名學生,B專業有420名學生,則在該學院的C專業應抽取 名學生.變式3-1 解析:C專業的學生有1 200-380-420=400名,由分層抽樣原理,應抽取120* 400 1200 =40名.答案:40 鏈接高考 (2010·重慶)某單位有職工750人,其中青年職工350人,中年職工250人,老年職工150人,為了了解該單位職工的健康情況,用分層抽樣的方法從中抽取樣本. 若樣本中的青年職工為7人,則樣本容量為( ) A. 7 B. 15 C. 25 D. 35 知識准備:知道分層抽樣中各層的抽樣比相同,並會求抽樣比.答案:B 解析:青年職工、中年職工、老年職工三層之比為7∶5∶3,所以樣本容量為 =15.故選B. 7 7 15

⑸ 演算法問題:設有N個球,其中有隨機數量的紅球和白球,從中隨機抽取兩個球

return返回的值為袋中紅球的數目為m、白球數目為n、需要取出x個球、紅球至少出現y次時的概率 此函數為遞歸函數 每進行一次函數調用代表從袋中取出一個球 可能是紅球也可能是白球 (double)m/(m+n)*p1為取紅球的概率 (double)n/(m+n)*p2為取白球的概率 如果你不太會遞歸 建議先把遞歸弄懂 然後再看這道題

⑹ 求從n個數中抽取隨機數的c語言演算法。

int a[9][8];定義數組包含math.h time.h頭文件 運用rand()函數和系統時間用系統的時間做隨機種子。對產生的隨機數%100就能保證隨機數都<100.最後加1,EQlxCg

⑺ 誰有隨機過抽樣和隨機欠抽樣演算法嗎

那麼對有N個個體的總體,所抽取的樣本容量到底該有多大?根據統計學的研究,這與要求的誤差把握(概率)有關.

以一個實際問題來說明,設上文所提到的某地區15歲學生共有N人,設這N人中近視眼比例為a,a未知,待估計.而我們抽出的樣本容量為n,樣本中近視眼的比例為p,把p作為a的估計值,兩者之間是有誤差的.

在統計學中有專門的根據誤差要求計算樣本容量的公式,舉幾例如下:

(1)如果希望有95%的把握,使得誤差|p-a|<0.15,那麼只要取樣本容量為

(2)如果希望有95%的把握,使得誤差|p-a|<0.1,那麼可以取樣本容量為

(3)同樣地,如果希望有95%的把握,使得誤差|p-a|<0.05,那麼要取

綜上可知:

(1)隨著誤差|p-a|的減小,樣本容量n必須增加.這說明,要提高估計的精確性,必須增加樣本容量.在N=50並要求有95%的把握時,兩者的關系如下表所示.

|p-q|<0.15
|p-a|<0.1
|p-a|<0.05

n
24
34
45

(2)隨著總體中個體個數的增加,樣本容量n也隨之增加,但n的增加比N的增加要慢得多,無正比例關系.例如在要求誤差|p-a|<0.05時,兩者的關系如下表所示.

N
50
100
200
500
1000
2000
3000
4000
5000

n
45
80
132
218
278
323
341
351
357

它告訴我們,在保證估計達到一定的精確性的前提下,在總體中個體個數很多時,並不需要很大的樣本容量.這是抽樣調查之所以行之有效的原因之一.

⑻ 求一個隨機數生成演算法,時間復雜度低。當隨機選了一個數,之後在其餘數中隨機抽,每次也是這樣,即是不可

用一個list存放所有你需要的數,然後每次抽取隨機一個大小在list長度的值,然後list取出該index的值,然後刪除,依次循環。這個簡單也不會造成取相同值的問題。

⑼ 一個C#的演算法問題:從100個數里隨機抽取99個數 然後求出哪個數沒有被抽取

Random rnd = new Random();
int rndNum = rnd.Next(1,100); //得1~100的隨機數索引
double[100] srcNumber;
//對srcNumber賦值(略)
Console.Write("數字{0}沒有被抽取",srcNumber[rndNum]);

提示:我們用反抽法進行,先示一個隨機的1-100之間的整數,作為未被抽取數的索引號,其餘剩下的99個數可以認為是隨機數了。

閱讀全文

與隨機抽題演算法相關的資料

熱點內容
單片機最小系統電路設計流程圖 瀏覽:663
steam源碼 瀏覽:29
關於對數的運演算法則及公式 瀏覽:775
明星談如何緩解壓力 瀏覽:141
androidlistview隱藏列 瀏覽:396
plc跑馬燈編程 瀏覽:816
ios開發之網路編程 瀏覽:421
處理照片視頻哪個app好 瀏覽:386
logback壓縮 瀏覽:888
冰箱壓縮機可以用氣割嗎 瀏覽:531
菜鳥如何加密商品信息 瀏覽:315
程序員那麼可愛小說結局 瀏覽:866
zenity命令 瀏覽:570
監禁風暴哪個app有 瀏覽:871
程序員的愛心是什麼 瀏覽:595
java中對字元串排序 瀏覽:296
單片機用數模轉換生成三角波 瀏覽:640
外網怎麼登陸伺服器地址 瀏覽:140
什麼人要懂編譯原理 瀏覽:154
源碼改單 瀏覽:719