如果我想創建一個調查,顯示你未來的嬰兒的性別與計數的男女比例爲1.05到1.假設每對夫婦只會得到一個嬰兒。我怎麼能在PHP中做到這一點?php有一個隨機嬰兒
rand (0,1);
將生成一個隨機數(1或0)。它可以代表性別。但是,如何將該比率作爲獲得該數字的概率來應用呢?
我知道比例非常接近,也許將比例應用於我的功能根本不會影響結果。但我這樣做是爲了教育自己,請舉例說明如何做到這一點。
如果我想創建一個調查,顯示你未來的嬰兒的性別與計數的男女比例爲1.05到1.假設每對夫婦只會得到一個嬰兒。我怎麼能在PHP中做到這一點?php有一個隨機嬰兒
rand (0,1);
將生成一個隨機數(1或0)。它可以代表性別。但是,如何將該比率作爲獲得該數字的概率來應用呢?
我知道比例非常接近,也許將比例應用於我的功能根本不會影響結果。但我這樣做是爲了教育自己,請舉例說明如何做到這一點。
1.05至1等同於:
$rnd = rand(0,100);
if ($rnd < 48) {
//male
}
else {
//female
}
:51.22 ..%
現在取決於所需的精確程度,你可以做以下的算法精度:
$rnd = rand(0,10000);
if ($rnd < 4878) {
//male
}
else {
//female
}
按@邁克爾Berkowski的評論:
/**
* Generate random baby gender adjusted by ratio male to female 1.05:1
*
* @return
* TRUE if male or FALSE if female
*/
function is_random_male() {
return rand(1, 205) <= 105;
}
echo is_random_male() ? 'male' : 'female';
蘭特之間'(1,205)選擇'。如果值<= 105,則是男性,> 105是女性。 – 2013-03-14 18:11:33
@MichaelBerkowski不錯。但仍在尋找其他方法來找到比例。請不要把你的答案作爲評論^^「 – shnisaka 2013-03-14 18:13:32
想象它好像你有兩個盒子,一個比另一個稍大,你把一個球投向空中,它可能落在任何一個盒子裏(在真空當然)直接與盒子的大小有關 – 2013-03-14 18:13:42