现在的位置: 首页 > 综合 > 正文

无聊了,贴道水题 hdu 4159

2012年12月01日 ⁄ 综合 ⁄ 共 427字 ⁄ 字号 评论关闭

简单数学题,推出结果后直接计算即可

不取double 会wrong

View Code

#include<cstdio>
#include<cstring>
__int64 C(__int64 n, __int64 m)
{
__int64 s = 1;
int i, j;
for (i=1,j=n; i<=m; i++, j--)
s = s * j / i;
return s;
}
int main()
{
int n,s;
int i,j,k;
while(scanf("%d%d",&n,&s)!=EOF)
{
double sum=0,tsum;
if(s>n){ printf("100.00000\n");continue;}
if(s==0) {printf("0.00000\n");continue;}
for(i=0;i<=s;i++)
{
sum+=(double)C(n,i)*((__int64)1<<(n-i));
if(i==s-1) tsum=sum;
}
printf("%.5lf\n",100.0*tsum/sum);
}
}

抱歉!评论已关闭.