开一个数的n次方用哪个函数,急急!!!

oiq 2003-11-21 06:25:45
比如2的3次方为8
现在我知道8及要开3次方,求2
...全文
329 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
03server 2003-11-22
  • 打赏
  • 举报
回复
看不懂逻辑,能够解释一下么
jkit 2003-11-22
  • 打赏
  • 举报
回复
楼主,把分给别人吧。我是从扩充话题看到你的连接过来的,误以为是java版才回的帖,后来一看是C/C++版,唉~ 因为我一般不在C/C++版灌水,所以分给我也没有用,:)
oiq 2003-11-21
  • 打赏
  • 举报
回复
请 jkit(郁闷之堕落的程序员)

http://expert.csdn.net/Expert/topic/2481/2481877.xml?temp=.9953577
发贴,我将分给你。
谢谢laogaifan(伟伟)
我将给你50分。其它的都是伟伟的。

我的QQ:14163398
MSN:webmaster@dpspace.com
交个朋友吧。
jkit 2003-11-21
  • 打赏
  • 举报
回复
x = pow( 8, 1/3 ) = pow( 8, 0 ) = 1;
正确的应该是:pow( 8, 1/3.0)
oiq 2003-11-21
  • 打赏
  • 举报
回复
上面打错了,应该是:
x = pow( 8, 1/3 )
oiq 2003-11-21
  • 打赏
  • 举报
回复
x = pow( 8, 3 )
为什么老是1啊?
应该等于2啊。
laogaifan 2003-11-21
  • 打赏
  • 举报
回复
哦,有点小问题,
n不能==0,不然的话就会造成for语句没有终止条件,你自己加上去判断吧
laogaifan 2003-11-21
  • 打赏
  • 举报
回复
我来写个实现吧,很简单,没有错误处理,也没有考虑效率问题,先拿着用吧
//m>0,n>=0
unsigned long kaifang(unsigned long m,unsigned long n)
{
unsigned long i;
unsigned long j;
unsigned long k;

for(i=1;i<=m;i++)
{
k=1;
for(j=0;j<n;j++)
k*=i;
if(k==m)
return i;
else if(k>m)
return 0;
}
return 0;
}
xh0001 2003-11-21
  • 打赏
  • 举报
回复
1~sqr(8)中间二分发查找,呵呵。。。
我很笨
laogaifan 2003-11-21
  • 打赏
  • 举报
回复
老大。。。。。
8开三次方不就是1/3次方嘛
你真的想要个整形开方的函数,好象就只能自己写了哦
laogaifan 2003-11-21
  • 打赏
  • 举报
回复
.....
double pow(double x, double y);
float powf(float x, float y);
不过只支持浮点型的,不支持整型的
如果你想有个整形的,那就自己写吧:)
oiq 2003-11-21
  • 打赏
  • 举报
回复
这个不是开方啊
aiyinsitan 2003-11-21
  • 打赏
  • 举报
回复
pow()

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧