- C23panweiming's blog
一元计算器
- 2024-9-10 19:42:39 @
求解一元未知数的代码
在代码中修改公式求解方程
方法:二分暴力
#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));//输出
}