http://acm.hdu.edu.cn/showproblem.php?pid=6362
椭圆内有一个矩形,求矩形周长的期望,y的取值范围是[0,b];
椭圆的1/2的长为a*sqrt(1-y*y/b*b),1/2的宽为y,1/4的周长为c=a*sqrt(1-y*y/b*b)+y,对c积分求出所有周长的和(当样本趋近于无数次的时候期望约等于均值),1/4的周长就等于c的积分/b,然后在乘以4,就算出周长的期望了,注意题目要保留6位十进制数字并忽略剩余的十进制数字,所以第七位不能进位;
#include<stdio.h>
#include<math.h>
const double PI=acos(-1);
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
double a,b;
scanf("%lf%lf",&a,&b);
double ans=PI*a+2*b;
printf("%.6lf\n",ans-0.0000005);//截取前六为小数
}
return 0;
}