Khi tôi chuyển ra làWinDefault với isWinConfidence, tôi nhận được kết quả khác nhau đáng kể. Tôi cảm thấy họ nên giống nhau. Có lỗi trong mã của tôi hay thuộc tính thống kê mà tôi đã hiểu nhầm?Mã xác suất Sự cố
Thử nghiệm này có nghĩa là để mô phỏng lật một đồng xu 1x và một đồng xu nhiều lần.
Câu hỏi đặt ra là
Nếu P (x) là 70% thì nên p (x) * 100 là> = 70 70% thời gian, không có?
Cảm ơn.
private void TestWin()
{
double headsUp = 0;
double testRuns = 100;
for (double i = 0; i < testRuns; i++)
{
if (IsWinConfidence())
{
headsUp++;
}
}
label1.Text = "Probability of Heads is " + headsUp /testRuns;
}
private bool IsWinDefault()
{
if (r.NextDouble() <= .7)
{
return true;
}
return false;
}
private bool IsWinConfidence()
{
int headsCount = 0;
for (double x = 0; x < 100; x++)
{
if (IsWinDefault())
headsCount++;
}
double pHeadsCount = headsCount/100d;
if (pHeadsCount >= .7)
{
return true;
}
else
{
return false;
}
}
Bạn không bao giờ xác định những gì 'r' (như trong' r.NextDouble() ') là bất cứ nơi nào trong câu hỏi của bạn. – devuxer
@DanM Nó chỉ là C# ngẫu nhiên Random r = new Random(); –
+1 cho câu hỏi, điều này thực sự thú vị hơn một chút mà nó trông (tốt, với tôi nó là :-)), và không có lỗi trong mã của bạn như xa như tôi có thể nói. –