首页  >  文章  >  后端开发  >  C++ 计算给定数字的立方根的程序

C++ 计算给定数字的立方根的程序

PHPz
PHPz转载
2023-08-28 17:37:031536浏览

C++ 计算给定数字的立方根的程序

将相同的数字乘以三次称为该数字的立方。或者我们可以说该数的 3 次方。例如 3 * 3 * 3 = 27,这是一个立方数。但如果我们想要执行相反的操作,我们需要找到数字的立方根。例如 $sqrt[3]{27}$ = 3。在本文中,我们将讨论如何在 C++ 中计算给定数字的立方根。有几种不同的技术可以做到这一点。

使用cbrt()函数

cbrt() 是一个库函数,用于计算给定数的立方根。如果该数是一个完全的立方数,则结果是一个整数,否则,它将返回一个浮点数。该函数只接受一个参数并返回其立方根。要使用此函数,我们必须将 cmath 库导入到 C++ 程序中。让我们看一下该函数的语法。

语法

#include < cmath >
cbrt( <cubic number> )

算法

  • 以立方数 x 作为输入。
  • 使用 cbrt( x ) 计算 x 的立方根。
  • 返回结果。

示例

#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 库中的库函数来计算数字的立方根。在本节中,我们将创建函数来计算给定数字的立方根。该算法如下所示 -

算法

  • 取要计算立方根的数字,例如 x。
  • 开始:= 0。
  • 结束:= x。
  • 中:=(开始+结束)/ 2。
  • 虽然 x 与 mid3 不同,但是。
    • 中:=(开始+结束)/ 2。
    • 如果 mid3 > x,则。

      i. end := mid。

    • 如果结束。
    • 如果 mid3< x,则:

      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中文网其他相关文章!

声明:
本文转载于:tutorialspoint.com。如有侵权,请联系admin@php.cn删除