【编程笔记】浮点数二分·数的三次方根
2023-01-08 16:37 作者:夕弦-Yamai_Yuzuru | 我要投稿

数的三次方根
给定一个浮点数 n,求它的三次方根。结果保留 6 位小数。数的范围在-10000到10000之间。
数的三次方根思路
由于-10000到10000,可以视为升序序列。
那么,当mid=(l+r)/2时,mid^3>=x时,说明mid在左区间[l,mid],反之,在右区间[mid,r]。
由于不是整数二分,而是浮点数二分,无需在移动l,r的时候进行加一减一的操作,l和r变换时直接变成mid即可。
此外,因为要求保留六位小数。
那么,r-l>10^(-8)
如果保留四位小数,那么就是r-l>10^-6,总的来说,就是负的数要比需要保留的小数多2
整理后如下

注意,在C++中,mid^3中的^代表异或,故用mid*mid*mid代表三次方
整合后如下

数的三次方根整合的N-s图
开心,比较轻松!

夕弦的图片由NovalAI生成。