现在的情况是,写一个程序模拟。
#include <bits/stdc++.h>
using namespace std;
long long total = 0;
int dfs(int id) {
if (id == 1) total ++ ;
double k = rand() * 1.0 / (RAND_MAX + 1) * 3;
if (id == 1) {
if (0 <= k && k <= 1) return 1;
else if (1 <= k && k <= 2) return 1;
else return dfs(2);
}
else if (id == 2) {
if (0 <= k && k <= 1) return 2;
else if (1 <= k && k <= 2) return dfs(1);
else return dfs(3);
}
else {
if (0 <= k && k <= 1.5) return 3;
else return dfs(2);
}
}
int main() {
srand(time(NULL));
int n;
cin >> n;
int cnt = 0;
for (int i = 1; i <= n; i ++ )
cnt += (dfs(1) == 1);
double pa = cnt * 1.0 / n;
// cnt = 0;
// for (int i = 1; i <= n; i ++ )
// cnt += (dfs(1) == 2);
// double pb = cnt * 1.0 / n;
// cnt = 0;
// for (int i = 1; i <= n; i ++ )
// cnt += (dfs(1) == 3);
// double pc = cnt * 1.0 / n;
// cout << pa << ' ' << pb << ' ' << pc << ' ' << pa + pb + pc << endl;
cout << 1.0 * total / n;
return 0;
}
然后会发现在n很大的时候,这个total/n,接近15/13。
那么这个东西的实际意义究竟是什么呢?
这已经不是一个概率了,应该试验还未结束就可以有贡献,但是不是概率,又怎么解释它和答案的关系呢?