革命尚未成功

————同志仍需努力————

shinnyblue

导航

AC.790 数的三次方根 | 浮点二分

AC.790 数的三次方根

题目描述

\(给定一个浮点数n,求它的三次方根。\)

输入格式

\(共一行,包含一个浮点数n。\)

输出格式

\(共一行,包含一个浮点数,表示问题的解。 注意,结果保留 6 位小数。\)

数据范围

\(−10000≤n≤10000\)

输入样例

1000.00

输出样例

10.000000





代码

\(如果要求保留6位小数,那么while循环的条件是r-l>1e-8\)

\(如果要求保留4位小数,那么while循环的条件是r-l>1e-6\)

#include<iostream>
#include<iomanip>
using namespace std;
#define ios_base \
	ios::sync_with_stdio(false);\
	cin.tie(nullptr),cout.tie(nullptr)
int n;
int main()
{
	ios_base;
	cin>>n;
    //int l=-100,r=100;
    double l=-100,r=100;
    while (r-l>1e-8)
    {
        //int mid=l+r>>1;
        double mid=(l+r)/2;
        if(mid*mid*mid>=n)
        {
            r=mid;
        }else{
            l=mid;
        }
    }
    cout<<fixed<<setprecision(6)<<l<<'\n';

	return 0;
}

posted on 2023-04-22 18:25  ShinnyBlue  阅读(6)  评论(0编辑  收藏  举报

Live2D