Re: [問題] 平均的亂數產生數字個數 C++[新問題]

看板C_and_CPP作者 (Terry)時間13年前 (2012/05/03 09:12), 編輯推噓2(2018)
留言20則, 2人參與, 最新討論串5/7 (看更多)
版上神人真多.... 我覺得我原本的描述應該是有問題的,因為我理解有誤...冏 今天早上我有做出來,跟我原本理解的有落差QQ 所以原本錯誤的問題就不在討論了,因為愈說明會愈多錯誤...T_T =================================================== 我最終的目的,是要滿足亂數request所產生的平均值 意思就是說 如果我是這樣子的亂數產生 1+rand()%(3);//最少是1,最多是3 那平均值就是 (1+2+3)/3 = 2 所以我每次產生的亂數長期平均下來就要是2 但是我的長期平均值是會變動的 我會把亂數乘上0.9, 0.8, 0.7...之類的小數點 做為最後的長期平均值 以上面那個1+rand()%(3)這個為例 這個亂數產生的平均值是2 我乘上0.8之後,就是1.6 那我長期亂數平均下來就要是1.6 我以長期平均是1.6這個為例 因為產生的亂數可能是三種情況之一,可能是1或2或3 三種情況的組合平均為1.6難度有點高 所以我用兩個數字做組合 所以如果連續產生10次亂數 只要達到下面這個樣子 2 2 2 2 2 2 1 1 1 1 前6次是2,後4次是1,平均就是1.6了 我的做法是 為了要達到平均1.6 所以把每次產生的亂數值都乘上0.8 1*0.8=0.8 // 8個1和2個0的組合 2*0.8=1.6 // 6個2和4個1的組合 3*0.8=2.4 // 4個3和6個2的組合 4*0.8=3.2 // 2個4和8個3的組合 每個產生的亂數都是兩個數字的組合 這樣子平均下來就可以達到我想要的平均值了.... 然後我在早上有做出來了 謝謝各位神人的幫忙QQ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.42.115.183

05/03 17:53, , 1F
我覺得你需要一點機率相關的知識....
05/03 17:53, 1F

05/03 17:54, , 2F
要讓平均值是你想要的數字就要對你產生的亂數分布下手
05/03 17:54, 2F

05/03 17:55, , 3F
而不是去硬調說要讓誰出現幾次
05/03 17:55, 3F

05/03 17:57, , 4F
嗯嗯~~我的那個兩個數字的組合,是有一定的機率才會出現
05/03 17:57, 4F

05/03 17:57, , 5F
的,不是硬調成前幾次是多少,後幾次是多少組合的
05/03 17:57, 5F

05/03 17:58, , 6F
上面那個兩個數字的組合,是說長期平均下來出現次數的
05/03 17:58, 6F

05/03 17:58, , 7F
你有沒有注意到一個問題 原先亂數值域是 {1,2,3,4}
05/03 17:58, 7F

05/03 17:58, , 8F
組合
05/03 17:58, 8F

05/03 17:58, , 9F
這樣調之後變成了 {0,1,2,3,4}
05/03 17:58, 9F

05/03 17:59, , 10F
對呀,我有注意到...可是...我想不出來其它的辦法..冏
05/03 17:59, 10F

05/03 17:59, , 11F
這是你要的嗎?
05/03 17:59, 11F

05/03 17:59, , 12F
只是說,這樣子剛好可以滿足我的平均...Q_Q
05/03 17:59, 12F

05/03 17:59, , 13F
所以我才說你應該要對分布下手而不是硬調
05/03 17:59, 13F

05/03 17:59, , 14F
滿足平均是我要的
05/03 17:59, 14F

05/03 18:00, , 15F
所調對分布下手是去調整 1 有多少機率出現 2 有多少機率出現
05/03 18:00, 15F

05/03 18:00, , 16F
等等等等 使得期望值得到你要的數
05/03 18:00, 16F

05/03 18:01, , 17F
而不是用一個均勻分布去亂調亂算
05/03 18:01, 17F

05/03 18:02, , 18F
完蛋了...這樣子好複雜...我試試看
05/03 18:02, 18F

05/03 18:04, , 19F
這就是機率一開始在探討的東西 所以我才說你需要機率的知識
05/03 18:04, 19F

05/03 18:04, , 20F
那我去查一下相關的東西,我沒修過機率..T_T
05/03 18:04, 20F
文章代碼(AID): #1Feam7_I (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1Feam7_I (C_and_CPP)