#include<bits/stdc++.h>
using namespace std;
double double_search(double x)
{
double l=-10000,r=10000;
while(r-l>1e-7)//调整精度 1e-7=10的-7次方
{
double mid=(1 + r)/2;
if(mid*mid*mid > x)
{
r=mid;//double类型不能直接-1 精度问题
}
else{
l=mid;
}
}
return l;
}
int main()
{
double n;
cin>>n;
printf("%6.6lf",search(n));//第一个6表示总共占的位宽 第二个6代表保留几位小数
}
7.31 二分查找(浮点型)
最新推荐文章于 2024-10-31 09:58:53 发布
该代码示例展示了一个用C++编写的double_search函数,通过二分查找法寻找给定值n的立方根。在寻找过程中,通过不断调整精度(1e-7)来逼近结果,避免了double类型的精度问题。在main函数中,用户输入一个数n,程序输出其立方根,保留6位小数。
摘要由CSDN通过智能技术生成