多学习。

【小数二分】Acwing790.数的三次方根

Acwing790.数的三次方根

题解

做法一:通过二分运算到符合精度要求

#include <iostream>
#include <cstdio>

using namespace std;

#define f 1e-8

int main()
{
    double x;
    cin >> x;
    double bg = -10000, ed = 10000, md, temp;
    while(ed-bg > f){
        md = (bg+ed)/2;
        temp = md*md*md;
        if(temp >= x)
            ed = md;
        else
            bg = md;
    }
    printf("%.6lf\n",md);
    return 0;
}

做法二:进行多次循坏,达到精度要求

#include <iostream>
#include <cstdio>
#include <cmath>

using namespace std;

#define f 1e-6

int main()
{
    double x;
    cin >> x;
    double bg = -10000, ed = 10000, md, temp;
    for(int i = 0; i < 100; ++i){
        md = (bg+ed)/2;
        temp = pow(md,3);
        if(temp >= x)
            ed = md;
        else
            bg = md;
    }
    printf("%.6lf\n",md);
    return 0;
}

posted @   czyaaa  阅读(65)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示