题目大意就是每次转一个n面的色子,问哪个位置会转出已经出现的点数的概率最大。
第i个位置转出已经出现的点数的概率是:
Pi = (N-1)! / i! / N^(N-i) ;
P(i+1) / P(i) = (N-i+1)*i/(i-1)/N ==> i= ......
最后的答案就是 (-1+sqrt(1+4N))/2
#include<cstdio>
#include<math.h>
int n;
int main(){
while(~scanf("%d",&n)){
double ans = (-1.0+sqrt(1.0 + 4.0*n)) / 2.0;
int res = ans+1.0;
printf("%.2lf %d\n",ans,res);
}
return 0;
}