/*
分析:
数学简单题,概率的。
没话说了,概率学的太烂了,这个题还是别人帮忙才做出来的。以后多
找点儿概率的题、学牢概率的知识,这题以后又机会了再试着做做。
注意当s>n时,直接输出100.00000,要不会WA的(参考别人代码后发现
的 - -I )。
所以以后更要注意对特殊情况的处理。
思路:
用Ai表示前n个中,i个人取indomie的种类数。则
Ai=c(n,i)*pow(2,n-i) (前者是n个人取i个indomie的种类数,后者
是其他人可以有rice和sugar两种选择)。
那么ans=∑Ai(0,1,2……s-1)/∑Ai(0,1,2……s)。
2012-04-15(又凌晨了啊,
在学校很少有能刷到凌晨
的机会呢O(∩_∩)O~)
*/
分析:
数学简单题,概率的。
没话说了,概率学的太烂了,这个题还是别人帮忙才做出来的。以后多
找点儿概率的题、学牢概率的知识,这题以后又机会了再试着做做。
注意当s>n时,直接输出100.00000,要不会WA的(参考别人代码后发现
的 - -I )。
所以以后更要注意对特殊情况的处理。
思路:
用Ai表示前n个中,i个人取indomie的种类数。则
Ai=c(n,i)*pow(2,n-i) (前者是n个人取i个indomie的种类数,后者
是其他人可以有rice和sugar两种选择)。
那么ans=∑Ai(0,1,2……s-1)/∑Ai(0,1,2……s)。
2012-04-15(又凌晨了啊,
在学校很少有能刷到凌晨
的机会呢O(∩_∩)O~)
*/
#include"stdio.h"
#include"math.h"
double jie(int n)
{
double y=1;
int i;
for(i=2;i<=n;i++)
y*=i;
return y;
}
double c(int n,int x)
{
double z;
z=jie(n)/jie(x)/jie(n-x);
return z;
}
int main()
{
double ans;
int n;
int s;
double x,y;
int i;
while(scanf("%d%d",&n,&s)!=-1)
{
if(s>n)
{
printf("100.00000\n");
continue;
}
x=y=0;
for(i=0;i<s;i++)
x+=c(n,i)*pow(2,n-i);
for(i=0;i<=s;i++)
y+=c(n,i)*pow(2,n-i);
ans=x/y;
printf("%0.5lf\n",ans*100);
}
return 0;
}