在C ++中找到数字的立方根
在这里,我们将看到如何获得数字的立方根。假设一个数字为27,则该数字的立方根为3。为解决此问题,我们将定义自己的逻辑,而无需使用某些库函数。我们将使用二进制搜索方法。我们必须按照以下步骤解决此问题。
假设我们有阈值,例如threshold = 0.000001
左值开始为0,右值开始为数字
计算中点:=(左+右)/ 2
如果(number – mid3)的绝对值小于阈值,则返回mid作为答案
如果mid3大于数字,则设置右:= mid
如果mid3小于数字,则向左设置:= mid
示例
#include<iostream>#include<cmath>
using namespace std;
double cubeRoot(int num) {
double threshold = 0.000001;
double left = 0, right = num;
double mid;
while(left <= right){
mid = (left + right)/2;
if(abs(num - (mid*mid*mid)) < threshold)
return mid;
if((mid*mid*mid) > num)
right = mid;
if((mid*mid*mid) < num)
left = mid;
}
}
int main() {
int n = 3;
cout << "cube root of 3 is: " << cubeRoot(n);
}
输出结果
cube root of 3 is: 1.44225
以上是 在C ++中找到数字的立方根 的全部内容, 来源链接: utcz.com/z/358168.html