zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    java类加载机制
    java反射
    java注解
    设计模式 单例模式
    #1015 : KMP算法
    idea 快捷键
    基础数据类型综合
    工厂模式 VS 策略模式
    AtomicI 多线程中的原子操作
    ThreadLocal<T>
  • 原文地址:https://www.cnblogs.com/cyd308/p/4681296.html
Copyright © 2011-2022 走看看