题目描述
x的x次方等于10,求x,保留6位小数,四舍五入
思路
- 二分
- 暴力
代码(浮点数二分)
#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;
int main()
{
double x=2.0;
double l=x+0.00000001,r=3.0;
while(l+0.00000001<r)
{
double mid=(l+r)/2;
if(pow(mid,mid)<10.0) l=mid;
else
r=mid;
}
printf("%.8lf",r);
return 0;
}
代码2(暴力,C/C++)
#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;
int main()
{
double x=2.0;
while(x<3.0)
{
x+=0.00000001;
if(fabs(pow(x,x)-10.00)<0.000001)
{
printf("%.8lf\n",x);
}
}
}
#include<stdio.h>
#include<math.h>
int main(){
double x=2.0;
while(x<3.0){
x+=0.00000001;
if(fabs(pow(x,x)-10.00)<0.000001){
printf("%.8lf\n",x);
}
}
return 0;
}