zoukankan      html  css  js  c++  java
  • HDU2199:Can you solve this equation?

    1.HDU2199:Can you solve this equation?(二分)

    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!

    #include "stdafx.h"
    #include <iostream>
    #include <iomanip>
    using namespace std;
    int a(double x)
    {
    return 8 * x*x*x*x + 7 * x*x*x + 2 * x*x + 3 * x + 6;
    }
    int main()
    {
    int t = 0;
    cin >> t;
    while (t--)
    {
    double n;
    cin >> n;
    double low = 0.0, high = 100.0;
    double mid = (low + high) / 2;
    if (a(0) > n || a(100) < n)   // 0-100最小值大于n和最大值小于n时无解
    {
    cout << "No Solution!" << endl;
    continue;
    }
    while (fabs(a(mid) - n) > 0.00001)     //解的值带进去得出的结果相差必须小于0.00001循环结束
    {
    if (a(mid) > n)
    high = mid;
    else
    low = mid;
    mid = (low + high) / 2;
    }
    cout << setprecision(5) << mid << endl;
    }
    return 0;
    }

     

  • 相关阅读:
    谷歌三架马车之 The Google File System 中文版
    数据集市 Data Mart
    VMware虚拟机ubuntu下安装VMware Tools步骤
    NOIP普及组 海港 题解
    HXD的DS
    离散化
    哈希表
    状态压缩DP 初探
    《信息学奥赛一本通》大盗阿福 题解
    NOIP 加工零件 题解
  • 原文地址:https://www.cnblogs.com/zhangfuxiao/p/9286366.html
Copyright © 2011-2022 走看看