AcWing 790. 数的三次方根
原题链接
简单
作者:
B612
,
2021-01-17 21:16:14
,
所有人可见
,
阅读 282
相关注意事项以及注解已写在代码中
#include <iostream>
using namespace std;
double n;
bool check(double mid)
{
if(mid * mid * mid > n) return true;
return false;
}
int main()
{
cin >> n;
double l = -1000, r = 1000;
//注意小于多少次最好 次数不够时会导致精度不够 或者采用固定的循环来写也可以
//次数一般是保留小数位数+2次 如果保留6位小数 则是1e-8 如果保留2位小数 则是1e-4
//1、while(r - l > 1e-9)
for(int i = 0; i < 100; i++)
{
double mid = (r + l) / 2;
if(check(mid)) r = mid; //当大于时 说明答案应该在[l, mid]之中
else l = mid; //否则在[mid, r]之中
}
printf("%.6f\n", r);
return 0;
}