c++怎样求立方根?

 我来答
和屋昂黄
2018-03-18 · TA获得超过1.1万个赞
知道小有建树答主
回答量:54
采纳率:100%
帮助的人:8548
展开全部

计算一个数字的立方根方法:使用对数和指数组合的方法表示立方根。loga(b)表示 以a为底,b的对数,a(m)表示a的m次方。我们知道a(loga(b))等于b,并且nloga(b)等于log以a为底b的n次方。结合这两个性质,我们可以得到任何一个数的任何一个次幂的值,自然也能求得立方根,只需的log前面的系数换成1/3即可。汉字有点啰嗦,直接看代码,有效代码只有一行。

代码:

[cpp] view plain copy#include <math.h>  float getCubeRoot(float fInput)  {  /*在这里实现功能*/  if(fInput < 0)  return 0;  float value =  exp(log(fInput)/3);  return value;  }  

还有一种更简单的方法,利用c标准库函数 pow函数,可以直接得到一个数的任何次幂;

代码:

cpp] view plain copy double resValue = pow((double)8,double(1/3));  

注意:pow函数的第一个参数是浮点类型的,第二个参数可以是整形,也可以是浮点型,由于1/3整形是0,所以也要转成浮点型。

zmryyj
2018-03-18 · TA获得超过1161个赞
知道小有建树答主
回答量:591
采纳率:0%
帮助的人:175万
展开全部
pow(double x,double y) //求x的y次方
所以,例如,要求9的立方根,只需pow(9,1.0/3)

【注意】
1、x、y均为double型;
2、头部需要包含#include<cmath>(C++风格)或者#include<math.h>(C风格)

望采纳哦~ 有问题再问哦~ o(∩_∩)o
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式