UVA_10056
这个题目公式还是比较好推的,至于精度的问题,对于只需要保证大概6位有效数字的除法来讲,double就可以了,只要不超过double的范围就好了。
#include<stdio.h>
#include<string.h>
#include<math.h>
int N, I;
double P;
void solve()
{
scanf("%d%lf%d", &N, &P, &I);
if(fabs(P) < 1e-9)
printf("0.0000\n");
else
printf("%.4lf\n", P * pow(1 - P, I - 1) / (1 - pow(1 - P, N)));
}
int main()
{
int tt, t;
scanf("%d", &t);
while(t --)
{
solve();
}
return 0;
}