求解一元未知数的代码

在代码中修改公式求解方程

方法:二分暴力

#include<bits/stdc++.h>
using namespace std;
const double EPS=0.000001;//精度
const double MAX=(2e31-1);//上限 
double n;
double qgs(double x,double eps,double (*fun)(double)) 
{
	double l=-MAX,m=0,r=MAX;
	int t=0;
	while(abs(x-m*m)>eps && l<=r && t<99999)//二分法
	{
		m=(l+r)/2.0;
		if(fun(m)<x)
			l=m+eps;
		else
			r=m-eps;
		t++;
	}
	return m;
}

double cmp(double x)//公式函数
{
	return x*x;//例如这个是求根号的 
}

int main()
{
	cout<<"输入等式右边=  ";
	cin>>n;//输入
	printf("输出未知数x=   %.5lf\n",qgs(n,EPS,cmp));//输出
}