zoukankan      html  css  js  c++  java
  • HDU 2199 Can you solve this equation?(二分解方程)

    传送门:

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

    Can you solve this equation?

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 25039    Accepted Submission(s): 10776


    Problem Description
    Now,given the equation 8*x^4 + 7*x^3 + 2*x^2 + 3*x + 6 == Y,can you find its solution between 0 and 100;
    Now please try your lucky.
     
    Input
    The first line of the input contains an integer T(1<=T<=100) which means the number of test cases. Then T lines follow, each line has a real number Y (fabs(Y) <= 1e10);
     
    Output
    For each test case, you should just output one real number(accurate up to 4 decimal places),which is the solution of the equation,or “No solution!”,if there is no solution for the equation between 0 and 100.
     
    Sample Input
    2 100 -4
     
    Sample Output
    1.6152 No solution!
     
    Author
    Redow
     
    Recommend
    lcy   |   We have carefully selected several similar problems for you:  2899 2289 3400 1969 1551 
     
    代码:
    #include<iostream>
    #include<algorithm>
    #include<stdio.h>
    #include<queue>
    #include<set>
    #include<map>
    #include<string>
    #include<memory.h>
    #include<math.h>
    #define eps 1e-7
    using namespace std;
    int y;
    double f(double x)
    {
        return 8*pow(x,4)+7*pow(x,3)+2*pow(x,2)+3*x+6-y;
    }
    double ff()
    {
        double l=0,h=100;
        double mid;
        while(h-l>=eps)//精度控制
        {
            mid=(l+h)/2;
            if(f(mid)>0)
            {
                h=mid;
            }else
            {
                l=mid;
            }
        }
        return mid;
    }
    int main()
    {
        int t;
        cin>>t;
        while(t--)
        {
            cin>>y;
            if(f(0)*f(100)>0)//与x轴无交点了
                cout<<"No solution!"<<endl;
            else
                printf("%0.4lf
    ",ff());
        }
        return 0;
    }
  • 相关阅读:
    mysql字符集设置
    mysql解压版服务启动方式
    html的表格边框为什么会这么粗?
    通过js获取tinymce4.x的值
    bzoj 3083 树链剖分
    bzoj 1143 二分图最大独立集
    bzoj 2303 并查集
    可持久化数据结构讲解
    bzoj 1072 状压DP
    bzoj 2741 可持久化trie
  • 原文地址:https://www.cnblogs.com/yinbiao/p/9361435.html
Copyright © 2011-2022 走看看