zoukankan      html  css  js  c++  java
  • HDU 2675 Equation Again

    公式转化+二分答案

    首先,把题目中给的等式转化一下,变成了这个样子。

    等式右边的值是可以求出来的。

    ln(x)/x的大致图像是这样的

    那么只要对[0,e]和[e,+∞]分别进行二分答案即可。

    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<algorithm>
    using namespace std;
    
    double Y,k;
    const double e=2.71828182845904523536;
    
    int main()
    {
        while(~scanf("%lf",&Y))
        {
            k=(1+log(Y))/(e*Y);
            int flag=0;
            double l=0,r=e;
            double mid=(l+r)/2;
            if(k>1.0/e) {
                printf("Happy to Women’s day!
    ");
                continue;
            }
            if(Y==1)
            {
                printf("2.71828
    ");continue;
            }
            while(1)
            {
                if(fabs(log(mid)/mid-k)<0.000000000001) 
                {
                    flag=1;
                    printf("%.5lf ",mid);
                    break;
                }
                if(log(mid)/mid>k)
                {
                    r=mid;
                    mid=(l+r)/2;
                }
                else
                {
                    l=mid;
                    mid=(l+r)/2;
                }
                if(fabs(l-r)<0.000000000001) break;
            }
    
            l=e,r=5000;
            mid=(l+r)/2;
    
            while(1)
            {
                if(fabs(log(mid)/mid-k)<0.00000000001) 
                {
                    flag=1;
                    printf("%.5lf
    ",mid);break;
                }
                if(log(mid)/mid<k)
                {
                    r=mid;
                    mid=(l+r)/2;
                }
                else
                {
                    l=mid;
                    mid=(l+r)/2;
                }
                if(fabs(l-r)<0.000000000001) break;
            }
            if(!flag) printf("Happy to Women’s day!
    ");
        }
        return 0;
    }
  • 相关阅读:
    eclipse的快捷键【转载】
    eclipse调试断点【转载】
    eclipse打断点的调试
    Oracle存储过程的调试
    QT5线程关闭
    QT5 Thread线程
    QT5 文件读写操作
    QT5 Even 事件
    Qt 5 常用类及基本函数
    静态库lib、动态库dll基础
  • 原文地址:https://www.cnblogs.com/zufezzt/p/4864760.html
Copyright © 2011-2022 走看看