#include <iostream>
using namespace std;
#include <iomanip>
double x3(const double & x){
double res;
res = x * x * x;
return res;
}
double mid(const double x1, const double x2){\
double res;
res = (x1 + x2)/2;
return res;
}
int main() {
double num;
cin >> num;
double res = num/2;
double lastMaxRes = max(1.0,num);
double lastminRes = min(-1.0,num);
while(abs(lastMaxRes - lastminRes) > 0.01){
if(x3(res) > num){
lastMaxRes = res;
res = mid(lastminRes,res);
}
else{
lastminRes = res;
res = mid(res,lastMaxRes);
}
}
cout << setprecision(1) << fixed << res << endl;
}
主要还需要注意负数输入的问题,如果输入的数绝对值小于1,则需要注意设置的上下限
输出一位精度则使用库函数iomanip的功能

京公网安备 11010502036488号