一,知识点
二分法
相关文章:《二分法的模板讲解》
二, 题目(简单)
链接:790. 数的三次方根 - AcWing题库
给定一个浮点数 n,求它的三次方根。
输入格式
共一行,包含一个浮点数 n。
输出格式
共一行,包含一个浮点数,表示问题的解。
注意,结果保留 66 位小数。
数据范围
−10000≤n≤10000
输入样例:
1000.00
输出样例:
10.000000
三,思路
就是简单的二分法的巧妙应用,具体模板我在《二分法的模板讲解》中已经讲过了,这题主要就是判断它的分界条件是否<=num,保留6位数,那么条件就是r>=l+1e-7
四,AC代码
#include<iostream> #include<stdio.h> using namespace std; double num; int main() { cin>>num; double l=-1000,r=1000; while(r - l >= 1e-7) { double mid = (l + r) / 2; if(mid * mid * mid <= num)l=mid; else r = mid; } printf("%.6f",l); return 0; }
五,小结
学会二分的思想后写这些题真的很简单