求救
怎么开立方? ----------------解决方案--------------------------------------------------------
pow
----------------解决方案--------------------------------------------------------
FROM [url]http://post.baidu.com/f?kz=158458943[/url]
找他妈半天,也没看到有说,C,或C++的库函数里有此调用函数(光只有个开方).以为偷个懒,搜了半天,也没搜个有效解决这个破问题的办法~~
最后,实在一气之下,自己写个算了(用二分法,写的).学的少,不精.只能用这种土方法,希望我这达到抛砖引玉的效果~~
下是自个儿写的代码:
#include "math.h"
double fun(double x3,double x)
{
return(x*x*x-x3);
}
double cube(double x3,int jingdu) //------调用函数 double cube(double x3,int jingdu)
{ //------x3为所开立方的数,jingdu即为需要精确到小数点后几位
int fuhao=1; //------最大精度,必须小于双精度型-1 位~~
double p,t;
if(x3<0) {x3=-x3;fuhao=-1;}
double left=0 ,right=sqrt(x3),middle;
p=pow((double)0.1,jingdu+1);
middle=(left+right)/2;
if(fun(x3,right)==0) middle=right;
else
{ t=fun(x3,middle);
while(t!=0)
{
if(t<0) left=middle;
else
right=middle;
if(right-left<p)
break;
middle=(left+right)/2;
t=fun(x3,middle);
}
}
if(fuhao==-1) return(-middle);
else return(middle);
}
----------------解决方案--------------------------------------------------------
pow(n,1.0/3);
----------------解决方案--------------------------------------------------------
发的短信都不回!哎
----------------解决方案--------------------------------------------------------
#include <math.h>
pow(x,y)
x的y次方!
----------------解决方案--------------------------------------------------------