将相同的数字乘以三次称为该数字的立方。或者我们可以说该数的 3 次方。例如 3 * 3 * 3 = 27,这是一个立方数。但如果我们想要执行相反的操作,我们需要找到数字的立方根。例如 $sqrt[3]{27}$ = 3。在本文中,我们将讨论如何在 C++ 中计算给定数字的立方根。有几种不同的技术可以做到这一点。
使用cbrt()函数
cbrt() 是一个库函数,用于计算给定数的立方根。如果该数是一个完全的立方数,则结果是一个整数,否则,它将返回一个浮点数。该函数只接受一个参数并返回其立方根。要使用此函数,我们必须将 cmath 库导入到 C++ 程序中。让我们看一下该函数的语法。
语法
#include cbrt( )
登录后复制
算法
以立方数 x 作为输入。使用 cbrt( x ) 计算 x 的立方根。返回结果。
示例
#include #include using namespace std;float solve( int x ) { float answer; answer = cbrt( x ); return answer;}int main() { cout输出
Cube root of 125 is: 5Cube root of 27 is: 3Cube root of 158 is: 5.40612Cube root of 1000000 is: 100登录后复制
不使用库函数
在前面的示例中,我们了解了如何使用 cmath 库中的库函数来计算数字的立方根。在本节中,我们将创建函数来计算给定数字的立方根。该算法如下所示 -
算法
取要计算立方根的数字,例如 x。开始:= 0。结束:= x。中:=(开始+结束)/ 2。虽然 x 与 mid3 不同,但是。中:=(开始+结束)/ 2。如果 mid3 > x,则。
i. end := mid。
立即学习“C++免费学习笔记(深入)”;
如果结束。如果 mid3i. start := mid。如果结束。结束循环。打印中间值。
示例
#include #include 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) end = mid; } return mid;}int main() { cout输出
Cube root of 125 is: 5Cube root of 27 is: 3Cube root of 1000000 is: 100登录后复制
这种方法的一个缺点是,当数字是完美立方数时,它可以很容易地计算出来。我们也可以使用适当的错误精度管理来处理浮点结果。
结论
当我们使用 cmath 头文件中的 cbrt() 函数时,计算数字的立方根是一种非常简单的方法。该方法仅采用一个参数,即立方数,然后求其立方根。另一方面,如果我们希望在不使用 cmath 库或任何第三方库的情况下计算立方根,我们可以使用数值方法来计算。在我们的示例中,我们使用二分法来计算立方根。在给定的示例中,仅当给定的数字是完美立方数时,该函数才会起作用。对于立方根不是整数的任何其他数字,它可能不起作用。我们可以添加一定的误差精度方法来处理其他非整数结果,例如立方根。
以上就是C++ 计算给定数字的立方根的程序的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2585536.html