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

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

将相同的数字乘以三次称为该数字的立方。或者我们可以说该数的 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: " << 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: 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: " << 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: 5Cube root of 27 is: 3Cube root of 1000000 is: 100

这种方法的一个缺点是,当数字是完美立方数时,它可以很容易地计算出来。我们也可以使用适当的错误精度管理来处理浮点结果。

结论

当我们使用 cmath 头文件中的 cbrt() 函数时,计算数字的立方根是一种非常简单的方法。该方法仅采用一个参数,即立方数,然后求其立方根。另一方面,如果我们希望在不使用 cmath 库或任何第三方库的情况下计算立方根,我们可以使用数值方法来计算。在我们的示例中,我们使用二分法来计算立方根。在给定的示例中,仅当给定的数字是完美立方数时,该函数才会起作用。对于立方根不是整数的任何其他数字,它可能不起作用。我们可以添加一定的误差精度方法来处理其他非整数结果,例如立方根。

以上就是C++ 计算给定数字的立方根的程序的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1443927.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 20:46:35
下一篇 2025年12月9日 20:44:36

相关推荐

  • 一个用C语言编写的程序,用于检查二叉树是否为二叉搜索树(BST)

    二叉树是一种树形数据结构,每个节点都有两个子节点。这两个子节点被称为左子节点和右子节点。 二叉搜索树(BST)是一种树形结构,其中左子树包含小于根节点的值的节点,右子树包含大于根节点的值的节点。 在这里,我们将检查一个二叉树是否是BST: 为了检查这个,我们需要在二叉树上检查BST条件。对于根节点,…

    2025年12月17日
    000
  • 在C++中,”for”和”while”有不同的用途

    编程中的循环用于多次计算一段代码。在这里,我们将看到程序中两种循环的区别,For循环和While循环。 For循环 For循环是一种重复控制循环,允许用户循环执行给定的代码块特定次数。 语法 for(initisation; condition; update){ …code to b…

    2025年12月17日
    000
  • 在C语言中,字符串搜索函数是什么?

    该库还提供了几个字符串搜索函数,如下 – char *strchr (const char *string, intc); 查找字符串中第一次出现的字符 c。 char “strrchr (const char “string, intc); 查找字符串中最后一次…

    2025年12月17日
    000
  • 在C和C++中的未定义行为

    在这里,我们将看到一些C和C++代码,并尝试猜测结果。这些代码将生成一些运行时错误。 1. 除以零的错误是未定义的。 示例代码 #include using namespace std;int main() { int x = 10, y = 0; int z = x / y; cout <&…

    2025年12月17日
    000
  • 在C语言中编写一个打印右箭头和左箭头图案的程序

    程序说明 打印左右箭头图案 算法 接受打印左右箭头图案的行数. Print Upper Part of the Arrow with Stars PatternsPrint Inverted Right Triangle with Stars PatternsPrint Bottom Part of…

    2025年12月17日
    000
  • C/C++程序用于找到给定数组中元素的总和

    所有数组元素的总和意味着将所有数组元素相加。假设我们有5个数组元素,我们想找到它们的总和。 arr[0]=1arr[1]=2arr[2]=3arr[3]=4arr[4]=5 以上所有元素的总和为 arr[0]+arr[1]+arr[2]+arr[3]+ arr[4]=1+2+3+4+5=15 立即学…

    2025年12月17日
    000
  • 有哪些不同的计算机语言?

    编程语言用来以计算机可以理解的语言给计算机发出指令。 计算机语言分为三种类型,如下所示: 机器语言符号语言高级语言 机器语言 计算机是一台机器。由于它的内存只能存储1和0,必须以一串1和0的流的形式给计算机发出指令,即二进制代码。 这些对机器来说很容易理解。 以二进制代码编写的程序可以直接输入计算机…

    2025年12月17日
    000
  • 根据数字的优先级,翻译如下:基于数字优先级的下一个更大的数字

    在正常的数字系统中,0是最小的数字,而9是最大的数字。在这个问题中,我们将得到一个长度为10的列表,从索引0到索引9表示一个数字,它表示该数字的优先级,列表将按照递增顺序排列,这意味着出现在最后索引的数字具有最高的优先级。我们还将得到一个数字,我们需要找到比当前数字稍大的下一个数字。 Input 1…

    2025年12月17日
    000
  • 使用pthread在C/C++中实现矩阵的加法和减法

    这里我们将看到如何使用多线程环境执行矩阵加法和减法。 pthread用于在C或C++中同时执行多个线程。 有两个矩阵A和B。每个矩阵的阶数为(m x n)。每个线程将获取每一行,并执行加法或减法。因此,对于 m 行,有 m 个不同的线程。 示例 #include#include #include #…

    2025年12月17日
    000
  • 在C、C++和Java中的浮点运算和结合性

    在 C、C++ 和 Java 中,我们使用浮点数进行一些数学运算。现在我们将检查浮点数是否遵循结合性规则。 答案是否定的。在某些情况下,浮点数不遵循结合性规则。这里我们将看到一些示例。 示例代码 #includeusing namespace std;main() { float x = -5000…

    2025年12月17日
    000
  • 单链表的节点乘积

    给定 n 个节点,任务是打印单链表中所有节点的乘积。程序必须从初始节点开始遍历单向链表的所有节点,直到找不到 null。 示例 Input -: 1 2 3 4 5Output -: 120 在上面的例子中,从第一个节点开始遍历所有节点,即 1, 2 3, 4, 5, 6,它们的乘积为 1*2*3*…

    2025年12月17日
    000
  • C++程序,用于删除数字字符串中的字符,使其能被8整除

    Given a number in the form of a string, we need to find where to make it divisible by eight after deleting zero or more elements. In other words, we n…

    2025年12月17日
    000
  • 在C语言中的switch case语句

    switch 语句允许测试变量是否与值列表相等。每个值称为一个 case,并且针对每个 switch case 检查正在打开的变量。 C 编程语言中 switch 语句的语法如下 – p> switch(expression) { case constant-expression …

    2025年12月17日
    000
  • 使用C语言在数组中插入元素

    我们可以在任意位置插入元素,这意味着我们可以在数组的起始位置、中间、最后或任意位置插入。 在数组中插入元素后,位置或索引位置增加,但并不意味着数组的大小增加。 插入元素的逻辑是− 输入数组的大小 立即学习“C语言免费学习笔记(深入)”; 输入要插入元素的位置 接下来输入您要在该位置插入的数字 for…

    2025年12月17日
    000
  • 在C语言中,Realloc是什么意思?

    c库的内存分配函数void *realloc(void *ptr, size_t size) 尝试重新调整由ptr指向的先前使用malloc或calloc调用分配的内存块。 内存分配函数 内存可以通过以下两种方式进行分配: 一旦在编译时分配了内存,就无法在执行期间更改。要么内存不足,要么内存浪费。 …

    2025年12月17日
    000
  • 从给定的句子中找出以给定词为前缀的词

    在处理自然语言处理或文本分析时,通常需要在较大的文本体中搜索特定的单词或短语。一个常见的任务是找到句子中以给定前缀开头的所有单词。在本文中,我们将探讨如何使用C++来完成这个任务。 算法 读取输入的句子和前缀。 将输入的句子分解为单个单词。 For each word in the sentence…

    2025年12月17日
    000
  • 将N表示为K个非零整数的不同方式

    问题“将N表示为K个非零整数的不同方式”在许多现实世界的用例中都有应用。 密码学 – 在密码学中,使用将一个数字N编码为K个非零整数之和的概念来设计特定的加密方法。 将一个整数N表示为K个非零整数的和可能会出现在优化方法的不同优化问题的子问题中。 机器学习− 在机器学习中,可以通过使用将…

    2025年12月17日
    000
  • 使用C++找到模方程的解的数量

    在本文中,我们将解释什么是模方程的​​解,我们还将编写一个程序来查找模方程的多个解。这是基本示例 – Input : X = 30 Y = 2Output : 4, 7, 14, 28Explanation : 30 mod 4 = 2 (equals Y), 30 mod 7 = 2 …

    2025年12月17日
    000
  • 在C语言中,什么是数组的越界索引?

    假设您有一个包含四个元素的数组。那么,数组索引将从0到3,即我们可以访问索引0到3的元素。 但是,如果我们使用大于3的索引,它将被称为索引越界。 如果我们使用越界的数组索引,那么编译器将编译甚至运行。但是,不能保证结果正确。 结果可能不确定,并且会导致许多问题。因此,建议在使用数组索引时要小心。 立…

    2025年12月17日
    000
  • C 中 printf 中的“%p”有什么用?

    在C语言中,我们已经见过不同的格式说明符。这里我们将看到另一个称为%p的格式说明符。它用于打印指针类型的数据。让我们看一个示例以更好地理解。 示例 #includemain() { int x = 50; int *ptr = &x; printf(“The address is: %p, …

    2025年12月17日
    000

发表回复

登录后才能评论
关注微信