• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
FightingForWorldFinal
博客园    首页    新随笔    联系   管理    订阅  订阅

HDU1410概率的对数优化

出处http://www.clanfei.com/2012/04/772.html

 1 #include<stdio.h>
 2 #include<cmath>
 3 int main()
 4 {
 5     int HP1,HP2,AP1,AP2,N1,N2 ;
 6     while(scanf("%d%d%d%d",&HP1,&HP2,&AP1,&AP2)!=EOF)
 7     {
 8         double ans=0,tmp=0 ;
 9         N1=(HP2-1)/AP1+1 ;
10         N2=(HP1-1)/AP2+1 ;
11         ans=pow(0.5,N1);
12         for(int i=1;i<N2;++i)
13         {
14             tmp+=log10(N1-1.0+i)-log10(i*1.0);
15             ans+=pow(10,tmp+(N1+i)*log10(0.5));
16         }
17         printf("%.4lf\n",ans*100);
18     }
19     return 0 ;
20 }
View Code
posted @ 2013-07-21 21:31  Sky-J  阅读(169)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3