用c语言编程 如果x的x次幂结果为10你能计算出x的近似值吗?x的值计算到小数后六位
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)
2个回答
展开全部
说一种最笨的方法吧.上下逐渐逼近.
设整形数w=0表示小数位数
浮点数 x=2,step=1/10^bit
大循环bit自加到6
小循环step自加
小循环内判断 (X+step)^(X+step)>10则退出小循环,同时更新X的值
剩下的具体实现就自己编吧?只有自己去动手动脑,水平才会迅速提高...
设整形数w=0表示小数位数
浮点数 x=2,step=1/10^bit
大循环bit自加到6
小循环step自加
小循环内判断 (X+step)^(X+step)>10则退出小循环,同时更新X的值
剩下的具体实现就自己编吧?只有自己去动手动脑,水平才会迅速提高...
追问
谢谢啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2016-09-18
展开全部
/*double x: the value which we want to count, offset is the bias which we accept*/
double Value_Research(double x, double offset)
{
double _x, _x1, _y, _temp;
_y =0;
//Get a large range
while(1){
_x = squrt(x);
_x1 = _x;
_y +=2;
if(_x<_y){
break;
}else{
_x1 = _x;
x = _x;
}
}
//Get the value: (_y-2, _x1)^(_y-2, _y)
while(1){
_temp = (_y-2+_x1)/2;
if((_temp^_temp <x+offset)&&(_temp^_temp >x-offset)) break;
if(_temp^_temp>x){
_x1 = _temp;
}else{
_y -2 = _temp;
}
}
return _temp;
}
double Value_Research(double x, double offset)
{
double _x, _x1, _y, _temp;
_y =0;
//Get a large range
while(1){
_x = squrt(x);
_x1 = _x;
_y +=2;
if(_x<_y){
break;
}else{
_x1 = _x;
x = _x;
}
}
//Get the value: (_y-2, _x1)^(_y-2, _y)
while(1){
_temp = (_y-2+_x1)/2;
if((_temp^_temp <x+offset)&&(_temp^_temp >x-offset)) break;
if(_temp^_temp>x){
_x1 = _temp;
}else{
_y -2 = _temp;
}
}
return _temp;
}
追问
运行结果为多少啊大神
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询