void PickDiamond()
{
Console.WriteLine("enter N: ");
string input = Console.ReadLine();
long n = Int32.Parse(input);
double maxP = 0;
long maxK = 0;
double f = 0;
for (long k = n - 2; k > 0; --k )
{
f += 1.0 / (k + 1);
double p = 1.0 / n * (1 + k * f);
if (p > maxP)
{
maxP = p;
maxK = k;
}
}
Console.WriteLine("max probabily is " + maxP + " at " + maxK);
}
一楼到十楼的每层电梯门口都放着一颗钻石,钻石大小不一。你乘坐电梯从一楼到十楼走一趟,每层电梯门都会打开一次,只能拿一次钻石。假设:你能记住前面看到过的最大钻石的尺寸。
问:怎样才做能使拿到最大的一颗钻石的概率最大?