如果x的x次幂结果为10,你能计算出x的近似值吗?
显然,这个值是介于2和3之间的一个数字。
请把x的值计算到小数后6位(四舍五入),并填写这个小数值。
注意:只填写一个小数,不要写任何多余的符号或说明。
填空题,不再注重格式
#include <iostream>
#include <cmath>
using namespace std;
#define cnt 1e-4
double n=3,k=2;
bool ok;
int f(double x)
{
//printf ("%f\n",x);
if (ok)
{
return 0;
}
if (pow (x,x)-cnt>10)
{
n=x;
f(((x+k)/2.0));
}else if (pow (x,x)+cnt<10)
{
k=x;
f(((x+n)/2.0));
} else if (pow (x,x)-cnt<=10||pow (x,x)+cnt>=10){
printf ("%0.8f",x);
ok=true;
return 0;
}
return 0;
}
int main ()
{
f(2.5);
return 0;
}