#include <iostream>
#include<iomanip>
#define E 0.0001 //精度设置
using namespace std;
double getCubeRoot(double num)
{
double x0=num;
double result;
while (1)
{
result=x0-(x0*x0*x0-num)/(3*x0*x0); //牛顿迭代 f(x) = x^3-num, f'(x)=3*x^2;x=x-f(x)/f'(x);
if (result*result*result-num<E &&result*result*result-num>-E)
return result;
else
x0=result;
}
}
int main()
{
int number;
cin>>number;
cout<< fixed << showpoint << setprecision(1)<<getCubeRoot(number)<<endl;
}
#include<iomanip>
#define E 0.0001 //精度设置
using namespace std;
double getCubeRoot(double num)
{
double x0=num;
double result;
while (1)
{
result=x0-(x0*x0*x0-num)/(3*x0*x0); //牛顿迭代 f(x) = x^3-num, f'(x)=3*x^2;x=x-f(x)/f'(x);
if (result*result*result-num<E &&result*result*result-num>-E)
return result;
else
x0=result;
}
}
int main()
{
int number;
cin>>number;
cout<< fixed << showpoint << setprecision(1)<<getCubeRoot(number)<<endl;
}