[問題] 平均的亂數產生數字個數 C++[新問題]
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
問題(Question):
請教一下
我先說明一下我的問題
我現在有3個數字亂數產生
最少產生1個,最多產生3個
EX: 1+rand()%(3);
然後我平均亂數產生的數字要是這三個數字的平均
也就是說
1+rand()%(3); 可能產生的數字有1,2,3
平均就是(1+2+3)/3 = 2
那我平均亂數產生的數字長期平均下來要是2
然後這個平均可能會是變動的
例如說,我可能會乘上0.9, 0.8, 0.7...之類的
假如(1+2+3)/3 = 2,我乘上0.8之後,變成了1.6
那我產生的亂數長期平均下來也要是1.6
不知道各位前輩有沒有什麼想法
我目前沒有辦法做到這個樣子
只能做到
我不用亂數產生
我每次的輸入都是2
然後如果要滿足1.6的話 ex:「(1+2+3)/3 = 2,我乘上0.8之後,變成了1.6」
就是用亂數機率的方法,有10分之6的機率會是2,另外10分之4的機率會是1
例如產生出來可能會是這個樣子:
2 2 2 2 2 2 1 1 1 1
這樣子平均就是1.6了
但是這也只是兩個數字2和1的組合而已
不知道如果用3個數字要如何達成...
希望前輩們提供一些想法
如果有說明不清楚的地方我再補充
謝謝
==
方法有想到了,我先測試看看
到時後再說明
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.136.149.125
→
04/27 22:38, , 1F
04/27 22:38, 1F
→
04/27 22:41, , 2F
04/27 22:41, 2F
→
04/27 22:41, , 3F
04/27 22:41, 3F
→
04/27 22:41, , 4F
04/27 22:41, 4F
→
04/27 22:42, , 5F
04/27 22:42, 5F
→
04/27 22:43, , 6F
04/27 22:43, 6F
就是說
如果我要產生100個,那每個數字就會出現25次(100/4 =25)
那如果產生的數字為26次或以上,那就是超過了
→
04/27 22:44, , 7F
04/27 22:44, 7F
→
04/27 22:44, , 8F
04/27 22:44, 8F
謝謝您,我試試看
※ 編輯: bernachom 來自: 140.136.149.125 (04/27 22:45)
→
04/27 22:50, , 9F
04/27 22:50, 9F
→
04/27 22:50, , 10F
04/27 22:50, 10F
→
04/27 23:08, , 11F
04/27 23:08, 11F
→
04/27 23:12, , 12F
04/27 23:12, 12F
→
04/28 00:03, , 13F
04/28 00:03, 13F
推
04/28 01:05, , 14F
04/28 01:05, 14F
→
04/28 01:06, , 15F
04/28 01:06, 15F
→
04/28 01:07, , 16F
04/28 01:07, 16F
→
04/28 01:11, , 17F
04/28 01:11, 17F
※ 編輯: bernachom 來自: 114.42.105.241 (04/28 03:19)
→
04/28 04:22, , 18F
04/28 04:22, 18F
→
04/28 04:31, , 19F
04/28 04:31, 19F
→
04/28 04:31, , 20F
04/28 04:31, 20F
※ 編輯: bernachom 來自: 114.42.118.109 (04/29 01:31)
※ 編輯: bernachom 來自: 114.42.118.109 (04/29 02:43)
→
04/29 02:53, , 21F
04/29 02:53, 21F
→
04/29 03:13, , 22F
04/29 03:13, 22F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 7 篇):