箱子裝了100個(gè)雞蛋,可能有壞蛋甚至全壞了,已經(jīng)挑出了個(gè)壞的,再挑個(gè)還是壞的概率多大?
Kimi
Kimi
Gemini
Gemini
GPT推理
GPT推理
JS驗(yàn)證代碼:
let okCount = 0;
let drawnCount = 0;
const eggCount = 100;//100蛋(對(duì)應(yīng)101個(gè)盒子)
const initialEggs = [...Array(eggCount).fill('好蛋'), ...Array(eggCount).fill('壞蛋')].join(',');
const boxes = Array.from({ length: eggCount + 1 }, (_, index) => {
const goodEggsCount = eggCount - index;
return initialEggs.split(',').slice(0, eggCount).map((_, eggIndex) => eggIndex < goodEggsCount ? '好蛋' : '壞蛋');
});//boxes 中有所有蛋的可能性
const want = Math.random() < 0.5 ? "好蛋" : "壞蛋";//隨機(jī)想要好蛋還是壞蛋(概率一樣)
for (let i = 0; i < 1000000; i++) {
// 隨機(jī)選盒
const chosenBox = boxes[Math.floor(Math.random() * boxes.length)];
const firstIndex = Math.floor(Math.random() * chosenBox.length);
if (chosenBox[firstIndex] === want) {
drawnCount++;//找到了第一個(gè)想要的蛋
let secondIndex;
do {//找第二個(gè)蛋,位置要不一樣
secondIndex = Math.floor(Math.random() * chosenBox.length);
} while (secondIndex === firstIndex);
if(chosenBox[secondIndex] === want)
okCount++;//連續(xù)找到了想要的蛋
}
}
const probability = okCount / drawnCount * 100;// 計(jì)算概率
console.log(`總共抽取 ${drawnCount} 組蛋, 其中 ${okCount} 組兩個(gè)都是${want}`);
console.log(`概率為: ${(probability).toFixed(2)}%`);
運(yùn)行結(jié)果:
總共抽取 498890 組蛋, 其中 332604 組兩個(gè)都是壞蛋
概率為: 66.67%
結(jié)果確實(shí)是三分之二