返回列表 上一主題 發帖

[發問] 將一固定值隨機分配到指定欄位

本帖最後由 n7822123 於 2018-9-7 11:51 編輯

回復 20# PaulDing

因為你有對10個數字的和設條件,假設和=200

那平均每個亂數的平均值ave必定要等於200/10=20

如果平均值超過20,加起來的和就超過200,反之亦同

Rnd:系統給的亂數值,範圍從0~1隨機抽取一個數值

Rnd*2:範圍從0~2隨機抽取一個數值

Rnd*2-1:範圍從-1~+1隨機抽取一個數值

把上述的值乘以任意數值就可以當成公差

若乘以30:(Rnd*2-1)*30=-30~+30

這裡我把"ave * 亂數比例範圍"  當做公差範圍,

如果ave=20,亂數比例範圍=1 那麼公差就是 -20~20(這就是為什麼  亂數比例範圍>1 有可能會有負數產生)

但是算出來的中值=0,這樣加總起來的平均值會等於0,不可能會等於你要的平均值

所以最後還要加上平均值ave,就得到最後式子

(Rnd * 2) - 1) * (ave * 亂數比例範圍) + ave
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助

TOP

回復  PaulDing

因為你有對10個數字的和設條件,假設和=200

那平均每個亂數的平均值ave必定要等於20 ...
n7822123 發表於 2018-9-7 11:45


瞭解了. 感謝龍大的幫忙~~:handshake
小丁

TOP

        靜思自在 : 慈悲沒有敵人,智慧不起煩惱。
返回列表 上一主題