package work3;
public class minerchoosedoor {
public static void main(String[] args) {
double s, p, c;
int b, n, k, l;
s = 0;
double sum = 0.0;
for (k = 0; k < 300; k++) {
for (l = 0; l < 300; l++) {
b = 2 + 3 * k + 5 * l;
n = 1 + k + l;
p = Math.pow(1.0 / 3.0, n);
c = calzu(k + l, k); //排列数算法
s = c * b * p;
sum = sum + s; //累积量相加
}
}
System.out.println("理论平均时间为" + sum);
}
private static double calzu(int i, int k) {
int a, b;
double t = 1.0;
b = i - k;
if (k > b) {
k = b; // 这里应用排列中的原理,选择小的运算
}
for (int j = 0; j < k; j++) {
t = t * (i - j) / (k - j);
}
return t;
}
}