我是C/C++的新手。我試圖讓代碼以一定的概率運行。以某種概率運行代碼
例如,我知道下面的代碼,使其與1/2的概率運行:
if (rand() % 2) {
// runs 1/2 the time
}
但我不知道,使其運行1/4(25%)的最好方法時間。當我投入:
if (rand() % 4) {
// runs 1/4 the time
}
它運行了四次以上。我也嘗試過:
if (rand() % 2) {
// 1/2
if (rand() % 2) {
// 1/2 * 1/2 = 1/4
}
}
哪個有效,但它似乎不是最好的方式。此外,該方法將只適用於1/4,1/8,1/16等。我不知道如何做例如1/6。
你知道模運算符'%'是如何工作的嗎?你知道哪些整數值被評估爲真,哪些爲假? – pfnuesel
它是C還是C++,它們是不一樣的。 –
我的問題與C和C++有什麼不同? –