[問題] 亂數產生數值,需要到小數點第二位.
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
問題(Question):
請教各位前輩們
我需要輸入一個數值的區間,然後百分之80產生較小的數值,其它百分之20是較長的數值。
例如:
[10,20],要產生10個亂數
產生的結果可能會是這個樣子.
10 20 10 10 10 10 10 10 10 19
10比較小所以有80%產生的機率,其它11~20有百分之20產生的機率。
以[10,20]這個區間為例
我的做法是
先計算這個區間有幾個數值: 20-10+1 = 11,所以計算後這個區間有11個數值
然後11*0.8(80%),就是百分之80的機率會產生較小的數值。
剩下的就是較長的數值。
但是,如果想要亂數產生較小數值的機率要到小數點第二位
應該如何做呢?
例如:百分之82(82%)(0.82)的機率會產生較小的數值。
我的方法好只能取到百分比整數而已
希望前輩們能給予一些想法,如何才能亂數產生數值的機率到小數點第二位。
謝謝幫忙。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.42.107.207
※ 編輯: bernachom 來自: 114.42.107.207 (03/07 04:01)
→
03/07 04:11, , 1F
03/07 04:11, 1F
→
03/07 04:11, , 2F
03/07 04:11, 2F
→
03/07 04:12, , 3F
03/07 04:12, 3F
→
03/07 08:15, , 4F
03/07 08:15, 4F
→
03/07 08:28, , 5F
03/07 08:28, 5F
→
03/07 08:34, , 6F
03/07 08:34, 6F
→
03/07 08:38, , 7F
03/07 08:38, 7F
推
03/07 09:13, , 8F
03/07 09:13, 8F
→
03/07 09:14, , 9F
03/07 09:14, 9F
→
03/07 12:25, , 10F
03/07 12:25, 10F
→
03/07 12:25, , 11F
03/07 12:25, 11F
→
03/07 12:38, , 12F
03/07 12:38, 12F
※ 編輯: bernachom 來自: 114.42.107.207 (03/07 16:53)
討論串 (同標題文章)
完整討論串 (本文為第 1 之 3 篇):