| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1053 人关注过本帖
标题:求救
只看楼主 加入收藏
muyun
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-1-3
收藏
 问题点数:0 回复次数:5 
求救
怎么开立方?
2008-01-03 22:15
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
pow

倚天照海花无数,流水高山心自知。
2008-01-03 22:19
argc
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-1-6
收藏
得分:0 
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);
}
2008-01-06 13:10
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
pow(n,1.0/3);

倚天照海花无数,流水高山心自知。
2008-01-06 13:42
xianshizhe111
Rank: 1
等 级:新手上路
帖 子:1451
专家分:0
注 册:2007-12-8
收藏
得分:0 
发的短信都不回!哎
2008-01-06 14:22
封闭
Rank: 9Rank: 9Rank: 9
来 自:广东省汕头市
等 级:蜘蛛侠
威 望:1
帖 子:501
专家分:1084
注 册:2007-9-14
收藏
得分:0 
#include <math.h>
pow(x,y)
x的y次方!
2008-01-06 15:15
快速回复:求救
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016640 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved