刚开始我也不知道怎么做,后来慢慢就推出来了……
对于样例
2 1 0,结果是2/3
2 2 0,结果是4/5
3 2 0,结果是6/7
3 2 1,结果是9/14=6/7*3/4
……
之后就会发现每一项都是d/(d+1);而d又是怎样来的呢?
上面的d分别是2*1;2*2;3*2,3*1……
所以规律就出来,哈哈……
看代码:
#include<iostream>
#include<stdio.h>
#include<algorithm>
#include<iomanip>
#include<cmath>
using namespace std;
int main()
{
int t,n,p,k,i;
double ans;
cin>>t;
while(t--)
{
cin>>p>>n>>k;
ans=1.0;
for(i=n;i>=n-k;i--){
double an=1.0*p*i;
ans*=(an/(an+));
}
printf("%.9lf\n",ans);
}
return ;
}