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

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

代码:

#include <math.h>

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,所以也要转成浮点型。

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值