C/C++编程题之计算一个数字的立方根

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

代码:

#include 

float getCubeRoot(float fInput)
{
	/*在这里实现功能*/
	if(fInput < 0)
		return 0;
	float value =  exp(log(fInput)/3);
	return value;
}


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

代码:

double resValue = pow((double)8,double(1/3));

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

你可能感兴趣的:(C/C++编程题之计算一个数字的立方根)