hdu 3750 Guess Game 菜鸟杯

http://acm.hdu.edu.cn/showproblem.php?pid=3750

#include<stdio.h>
#include<stdlib.h>
main()
{
     double i,j,ans,n,num;
     while(scanf("%lf",&n)!=EOF)
     {
       j=1;i=1;ans=0;num=1;
       while(num<=n)
       {
              ans=ans+i*j*1.0/n;
              i++;
              j=j*2;
              num=num+j;
              //j=j*2;
       }
       if(num>n)
       ans=ans+i*(j-num+n)*1.0/n;
       printf("%.2f\n",ans);
     }
}

posted @ 2011-03-23 21:57  CoderZhuang  阅读(123)  评论(0编辑  收藏  举报