
将相同的数字乘以三次称为该数字的立方。或者我们可以说该数的 3 次方。例如 3 * 3 * 3 = 27,这是一个立方数。但如果我们想要执行相反的操作,我们需要找到数字的立方根。例如 $\sqrt[3]{27}$ = 3。在本文中,我们将讨论如何在 C++ 中计算给定数字的立方根。有几种不同的技术可以做到这一点。
cbrt() 是一个库函数,用于计算给定数的立方根。如果该数是一个完全的立方数,则结果是一个整数,否则,它将返回一个浮点数。该函数只接受一个参数并返回其立方根。要使用此函数,我们必须将 cmath 库导入到 C++ 程序中。让我们看一下该函数的语法。
#include < cmath > cbrt( <cubic number> )
#include <iostream>
#include <cmath>
using namespace std;
float solve( int x ) {
float answer;
answer = cbrt( x );
return answer;
}
int main() {
cout << "Cube root of 125 is: " << solve( 125 ) << endl;
cout << "Cube root of 27 is: " << solve( 27 ) << endl;
cout << "Cube root of 158 is: " << solve( 158 ) << endl;
cout << "Cube root of 1000000 is: " << solve( 1000000 ) << endl;
}
Cube root of 125 is: 5 Cube root of 27 is: 3 Cube root of 158 is: 5.40612 Cube root of 1000000 is: 100
在前面的示例中,我们了解了如何使用 cmath 库中的库函数来计算数字的立方根。在本节中,我们将创建函数来计算给定数字的立方根。该算法如下所示 -
i. end := mid。
立即学习“C++免费学习笔记(深入)”;
i. start := mid。
#include <iostream>
#include <cmath>
using namespace std;
float solve( int x ) {
int start = 0;
int end = x;
float mid = ( start + end ) / 2;
while ( (mid * mid * mid) != x ) {
mid = ( start + end ) / 2;
if ( mid * mid * mid < x )
start = mid;
else if( mid * mid * mid > x)
end = mid;
}
return mid;
}
int main() {
cout << "Cube root of 125 is: " << solve( 125 ) << endl;
cout << "Cube root of 27 is: " << solve( 27 ) << endl;
cout << "Cube root of 1000000 is: " << solve( 1000000 ) << endl;
}
Cube root of 125 is: 5 Cube root of 27 is: 3 Cube root of 1000000 is: 100
这种方法的一个缺点是,当数字是完美立方数时,它可以很容易地计算出来。我们也可以使用适当的错误精度管理来处理浮点结果。
当我们使用 cmath 头文件中的 cbrt() 函数时,计算数字的立方根是一种非常简单的方法。该方法仅采用一个参数,即立方数,然后求其立方根。另一方面,如果我们希望在不使用 cmath 库或任何第三方库的情况下计算立方根,我们可以使用数值方法来计算。在我们的示例中,我们使用二分法来计算立方根。在给定的示例中,仅当给定的数字是完美立方数时,该函数才会起作用。对于立方根不是整数的任何其他数字,它可能不起作用。我们可以添加一定的误差精度方法来处理其他非整数结果,例如立方根。
以上就是C++ 计算给定数字的立方根的程序的详细内容,更多请关注php中文网其它相关文章!
c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号