• Equation Again 最大化最小值


    C - Equation Again
    Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u
    Submit Status

    Description

    This problem’s author is too lazy to write the problem description, so he only give you a equation like X (eY) == (eY) x, and the value of Y, your task is calculate the value of X. 
    Note : here e is the Natural logarithm. 
     

    Input

    Each line will contain one number Y(Y >= 1). Process to end of file.
     

    Output

    For each case, output X on one line, accurate to five decimal places, if there are many answers, output them in increasing order, if there is no answer, just output “Happy to Women’s day!”.
     

    Sample Input

    1
     

    Sample Output

    2.71828
     1 #include <stdio.h>
     2 #include <math.h>
     3 
     4 const double INF=0x3f3f3f3f;
     5 const double s=1e-9;
     6 const double e=exp(1);
     7 double y,Y;
     8 
     9 bool C(double x)
    10 {
    11     if((log(x)/x)<(log(e*y)/(e*y)))
    12         return true;
    13     else
    14         return false;
    15 }
    16 
    17 int main()
    18 {
    19     int i,j;
    20     while(scanf("%lf",&y)!=EOF)
    21     {
    22         double Y=(log(e*y)/(e*y));
    23         if(y==1.0)
    24             printf("%.5lf
    ",e);
    25         else if(Y>(log(e)/e))
    26         {
    27             printf("Happy to Women’s day!
    ");
    28         }
    29         else
    30         {
    31             double lb=1.0,ub=e;
    32             for(i=1;i<=1000;i++)
    33             {
    34                 double mid=(lb+ub)/2;
    35                 if(C(mid))
    36                     lb=mid;
    37                 else
    38                     ub=mid;
    39             }
    40             printf("%.5lf ",ub);
    41             lb=e,ub=INF;
    42             for(i=1;i<=1000;i++)
    43             {
    44                 double mid=(lb+ub)/2;
    45                 if(C(mid))
    46                     ub=mid;
    47                 else
    48                     lb=mid;
    49             }
    50             printf("%.5lf
    ",lb);
    51 
    52         }
    53     }
    54     return 0;
    55 }
    View Code
  • 相关阅读:
    如何在同一窗口打开多个终端并实现快捷键切换
    Django基础八之cookie和session
    jQuery操作cookie
    Django基础九之中间件
    Django基础七之Ajax
    Mac下打开/usr/local目录
    Django基础二之URL路由系统
    json path espressions的语法学习
    如何查看bug属于前端还是后端
    python random生成随机手机号
  • 原文地址:https://www.cnblogs.com/cyd308/p/4681296.html
Copyright © 2020-2023  润新知