作者wintercobra (wintercobra)
看板EE_DSnP
標題[問題] random number
時間Thu Nov 25 00:12:37 2010
randomNumGen感覺不太有亂數的感覺
應該是老師說的讓輸出一致才這樣限定
既然如此,那要怎麼做出一個亂數?
是要...
1
用自己隨便想的方法-->可能會跟老師測試時的亂數不同
2
用某特定方法??
會這樣問是因為,我每次的亂數都一樣,
指令像是mtd -r 2000 (亂數取2000個,刪除object)這種東西
就永遠都刪到同一個object,這樣根本就不能算是刪除2000個嘛
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.4.180
1F:推 TommyKSHS:STL random_shuffle(arr,arr+n) 可以將 arr 的第 0 到 11/25 00:27
2F:→ TommyKSHS:n-1 個元素做隨機的排列 11/25 00:28
3F:推 tomap41017:推樓上XD 11/25 00:38
4F:推 ric2k1:每次 random 要一樣是因為 random seed 都放一樣 (0), 11/25 06:08
5F:→ ric2k1:這樣我們才好批改。想真的亂一點可以把 random seed 設成 11/25 06:09
6F:→ ric2k1:time or process ID 等等. 11/25 06:09
7F:推 timrau:如果"每次的亂數都一樣"那會不會是使用方法錯誤...... 11/25 08:32
8F:推 ric2k1:原 PO 應該是說 "每次亂數的順序都一樣" 吧? 11/25 08:43
9F:推 johnathan717:他說「永遠都刪到同一個object」可能真的亂數都一樣 11/25 13:07
10F:→ wintercobra:使用時,我是每random刪一個object時,就去呼叫 11/25 20:13
11F:→ wintercobra:randomNumGen(),比方說想刪20個,就用for迴圈呼叫 11/25 20:14
12F:→ wintercobra:此函數20次,因為每次他回傳的值都是一樣的,於是 11/25 20:15
13F:→ wintercobra:每次都刪到同一個object,結果就是只刪得到一個 11/25 20:15
14F:→ wintercobra:這樣感覺不太對呀 11/25 20:15
15F:推 ric2k1:為什麼是呼叫 randomNumGen()? 應該是利用 util.cpp 裏頭的 11/25 20:28
16F:→ ric2k1:rnGen 這個物件,然後呼叫它的 operator(range) 吧! 11/25 20:30
17F:→ wintercobra:是rnGen()沒錯啦,不過意思就是每次跑都會刪到同一個 11/26 19:41
18F:→ wintercobra:後來自動解決了,謝謝! 11/26 19:49
19F:推 gooodgoodgod:所以意思是一定得用老師寫的函式囉? 11/28 19:56
20F:→ gooodgoodgod:不可以用rand()%之類的嗎?? 11/28 19:56
21F:推 TommyKSHS:嗯沒錯 spec 裡面有說 11/28 20:01
22F:推 gooodgoodgod:謝謝樓上 11/28 22:02