题目描述
众所周知,D学长对于陌生的事物一开始总是恐惧,而多次接触了以后慢慢的熟悉了起来,所以D学长对于新鲜事物总是能“熟能生巧”。D学长作为zzuli出身的优秀毕业生,他阳光、帅气、一表人才、风度翩翩(以下省略2万字)。在工作和生活中,不可避免的有很多女生向D学长询问微信号。
某日,小新学妹开始锲而不舍的向D学长询问微信号。假设,首次成功的概率为x,每次失败后下次成功的概率增加y。求要到微信号的过程中询问次数的期望。
输入
输入两个浮点数, x, y, 0<=x, y<=1,且 x,y 不在 (0, 0.01) 区间内。
输出
输出一个浮点数,保留六位小数
样例输入
0.10 0.10
样例输出
3.660216
代码
#include <stdio.h>
#define N 10
double ti_ok(int n,double x,double y){
double res=1;
if(n==1) return x;
else{
for(int i=1;i<=n-1;i++){
res*=(1-x);
x+=y;
}
res*=x;
return res;
}
}
int main(){
double x,y,z=0,last=-1;
scanf("%lf%lf",&x,&y);
int i=1;
while(z-last>1e-8||i<=20){
last=z;
z+=i*ti_ok(i,x,y);
i++;
}
printf("%.6lf\n",z);
return 0;
}