SDAU 练习二 10001

 这是一个典型的二分法题目,题目还是不是很难的这个方程答案和y比较,精度为1e-6,
题目就是给你一个方程,和它的结果,让你求X。步骤很容易,就是利用二分法,一点一点求。
#include <cstdio>
#include<iostream>
#include<stdio.h>
#include<vector>
#include<algorithm>
#include<numeric>
#include<math.h>
#include<string.h>
#include<map>
#include<set>
#include<vector>
#include<iomanip>
using namespace std;
double eqa(double x)
{
    return 8*x*x*x*x+7*x*x*x+2*x*x+3*x+6;
}
int main()
{
    //freopen("r.txt","r",stdin);
    double x,y,r,l,mid;
    int N;
    cin>>N;
    while(N--)
    {


        cin>>y;
        if(eqa(0)>y||eqa(100)<y)
        {
            cout<<"No solution!"<<endl;
            continue;
        }
        r=100;
        l=0;
        while((r-l)>0.00000001)
        {
            mid=(r+l)/2;
            if(eqa(mid)>y) r=mid;
            else l=mid;
        }
        printf("%.4f\n",mid);
    }


}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章