Go: package main

import (
	"bufio"
	"fmt"
	"math"
	"os"
	"strconv"
	"strings"
)

var sc = bufio.NewScanner(os.Stdin)

//Sliceconvtof ...
func Sliceconvtof() []float64 {
	strs := strings.Split(sc.Text(), " ")

	var flts []float64
	var x int

	for _, s := range strs {
		x, _ = strconv.Atoi(s)
		xf := float64(x)
		flts = append(flts, xf)
	}

	return flts
}

//ThirdRoot .
func ThirdRoot(f float64) float64 {
	xn := f / 2
	var dmt float64

	for {
		dmt = math.Pow(xn, 3) - f
		if math.Abs(dmt) < 0.00001*f {
			break
		}

		xn = xn - (dmt / (3 * math.Pow(xn, 2)))
	}

	return xn
}

func main() {

	for sc.Scan() {
		i := Sliceconvtof()
		if i[0] == -1.0 {
			break
		}
		fmt.Printf("%6f\n", ThirdRoot(i[0]))
	}

}

C++: 
// http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0080

#include <algorithm>
#include <iostream>
#include <iomanip>
#include <vector>

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

using namespace std;

//テ」ツδ榲」ツつッテ」ツδュテ・ツョツ堙ァツセツゥ
#define ALL(v) (v).begin(),(v).end()
#define ARRAY_LENGTH(array) (sizeof(array) / sizeof(array[0]))
#define REP(i,a,b) for(int i=(int)(a); i<(int)(b); ++i)
#define rep(i,n) for(int i=0;i<(int)(n);++i)
#define SORT(x) sort(begin(x),end(x))
#define SELECT_SORT(x, n) sort(begin(x),begin(x)+n)
#define SWAP(type, a, b) do {type tmp = a; a = b; b = tmp;} while (0)
#define rep_split(tok,a_str,re) for(char *tok = strtok((char *)a_str.c_str(),re); tok != NULL; tok = strtok(NULL,re))

//テ・ツョツ堙ヲツ閉ー
#define INF 2000000000000
#define MAX 10

//DEBUGテァツ板ィ
#define BAR() cout << "----------------------------" << endl;
#define DUMP(v) (cerr << #v << ": " << v << endl)
#define PRINT(list) cout << "{ "; for(auto nth : list){ cout << nth << " "; } cout << "}" << endl;

double formula(double x, double q){
	return x - ( (pow(x, 3) - q) / ( 3*pow(x,2) ) );
}

int main()
{
	double q;
	double ans;
	while(cin >> q && q != -1)
	{
		ans = formula(q/2,q);
		while(true){
			if(fabs( pow(ans,3) - q ) < 0.00001*q){ break; }
			ans = formula(ans,q);
		}
		cout << setprecision( 7 ) << ans << endl;
	}
}

C++: #include <iostream>
#include <cstdio>
#include <cmath>
#define EQ(a,b) (abs(a - b) < 0.00001 * b)
using namespace std;

int main ()
{
    double q;
    while (cin >> q, q >= 0) {
        double p  = q / 2;
        while (!EQ((p * p * p),q)) {
            p = p - ( ((p * p * p) - q) / (3 * p * p) );
        }
        printf("%.6f\n", p);
    }

    return 0;
}

C++: #include <cmath>
#include <iostream>
int main(){
	int q;
	while(std::cin>>q,q!=-1){
		double x=q/2.0,a;
		while(1){
			a=x*x*x-q;
			if(fabs(a)<1e-5*q)break;
			x-=a/3/x/x;
		}
		printf "%.6f\n",x;
	}
}

C++: #include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main() {
    while (1) {
        int q;
        cin >> q;
        if (q == -1) {
            return 0;
        }
        double n = q / 2.0;
        while (abs(pow(n, 3) - q) >= 0.00001 * q) {
            n -= (pow(n, 3) - q) / (3 * pow(n, 2));
        }
        printf("%.6f\n", n);
    }
    
}

C++: #include <cmath>
#include <iostream>
int main(){
	int q;
	while(std::cin>>q,q!=-1){
		double x=q/2.0,a;
		while(1){
			a=x*x*x-q;
			if(fabs(a)<1e-5*q)break;
			x-=a/3/x/x;
		}
		std::cout<<x<<"\n";
	}
}

C++: #include<iostream>
#include<cstdio>
#include<vector>
#include<queue>
#include<algorithm>
#include<cmath>
#include<string>
#include<cstring>
#include<map>
#include<functional>
#include<stack>
#include<list>
#include<set>
#include<deque>
#include<climits>
using namespace std;

double abso(double n){
	if(n<0) return n*=-1;
	return n;
}

int main(){
	double q,x;
	cin>>q;
	x = q/2;
	while(abso(x*x*x-q)>=0.00001*q){
		x = x-((x*x*x-q)/(3*x*x));
	}
	printf("%lf\n",x);
	return 0;
}

C++: #include <iostream>
#include <iomanip>
#include <vector>
#include <cmath>
using namespace std;
double q;
double cal(double n){
  double ans;
  while(1){
    ans = n - n/3.0 - q/(3.0*n*n);
    //    cout << ans << endl;
    if(fabs(fabs(n*n*n)-fabs(q)) < 0.000001){
      return fabs(n);
    }
    n = ans;
    
  }
}

int main(){
  while(cin >> q,q != -1){
    cout  << fixed << setprecision(7) << cal(q/2.0) << endl;
  }
  return 0;
}

C++: #include <iostream>
#include <cmath>
using namespace std;
int main(){
  double x,q;
  int n;
  while(  cin >> q ){
    if(q == -1)break;
    x = q/2;
    while(fabs(pow(x,3) - q) >= 0.00001*q )x = x - (pow(x,3) - q)/(3*pow(x,2));
    cout << x << endl;
  }
}

C++: #include <iostream>
#include <utility>
#include <algorithm>
#include <string>
#include <vector>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <cstdlib>

typedef long long int ll;


using namespace std;

int q;
double x;

double f(){
	return x*x*x-q;
}
double df(){
	return 2*x*x;
}

double calc(){
	x=q/2;
	while(1){
		if((fabs(f())>-0.00001*q&&fabs(f())<0.00001*q)){
			break;
		}
		x=(x*df()-f())/df();
	}
	return x;
}

int main(){
	while(1){
		cin>>q;
		if(q==-1)break;
		printf("%.15lf\n", calc());
	}
}

C++: #include <iostream>
#include <vector>
#include <stack>
#include <queue>
#include <algorithm>
#include <string>
#include <bitset>
#include <map>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <sstream>
#include <fstream>
//#include <tuple>
#include <set>
#include <string.h>
#include <functional>

#define X first
#define Y second
#define MP make_pair
//#define MT make_tuple
#define REP(i, a, n) for(int (i) = (a); (i) < (n); ++(i))
#define FOR(i, n) REP(i, 0, n)
typedef long long ll;
using namespace std;
const int MAX = 500;
const double eps = 0.000001;

template<class T, class U>
void convert(T &t, U &u)
{
	stringstream ss;
	ss << t;
	ss >> u;
}

int main()
{
	ll q;
	while( cin >> q ){
		if( q == -1 ) break;
		double x = q / 2;
		while(  abs( x * x * x - q ) + eps >= 0.000010 * q ){
			x = x - (x * x * x - q) / ( 3 * x * x );
		}
		printf("%.06f\n", x);
	}
	return 0;
}

C++: #include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
	int q;
	while(cin>>q,q!=-1) 
	{
		double x=q/2;
		while(abs(x*x*x-q)>=0.00001*q)
		{
			x=x-(x*x*x-q)/(3*x*x);
		}
		printf("%lf\n",x);
	}
  return 0;
}

C++: #include<cstdio>
#include<iostream>
#include<string>
#include<cmath>
#include<vector>
#include<stack>
#include<queue>
#include<algorithm>
#include<complex>
using namespace std ;
typedef vector<int> vi ;
typedef vector<vi> vvi ;
typedef vector<string> vs ;
typedef pair<int, int> pii; 
typedef long long ll ;

#define loop(i,a,b) for(int i = a ; i < b ; i ++)
#define rep(i,a) loop(i,0,a)
#define all(a) (a).begin(),(a).end()


int main(void){
  double buf;
  while(cin>>buf,buf>0){
    double x = buf / 2;
    while(1){
      x = x - (x*x*x-buf)/(3*x*x);
      if(abs(x*x*x-buf) < 0.00001*buf)break;
    }
    printf("%6f\n",x);
  }
}

C++: #include <iostream>
#include <fstream>
#include <sstream>
#include <iomanip>
#include <complex>
#include <string>
#include <vector>
#include <list>
#include <deque>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <bitset>
#include <functional>
#include <utility>
#include <algorithm>
#include <numeric>
#include <typeinfo>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <climits>
#include <ctime>

using namespace std;

#define dump(n) cout<<"# "<<#n<<"="<<(n)<<endl
#define debug(n) cout<<__FILE__<<","<<__LINE__<<": #"<<#n<<"="<<(n)<<endl
#define repi(i,a,b) for(int i=int(a);i<int(b);i++)
#define rep(i,n) repi(i,0,n)
#define iter(c) __typeof((c).begin())
#define foreach(i,c) for(iter(c) i=(c).begin();i!=(c).end();i++)
#define allof(c) (c).begin(),(c).end()
#define mp make_pair

typedef unsigned int uint;
typedef long long ll;
typedef unsigned long long ull;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<string> vs;
typedef pair<int,int> pii;

int main()
{
	for(int n;cin>>n,n!=-1;){
		double x=0.5*n;
		for(;;){
			if(abs(pow(x,3)-n)<0.00001*n){
				printf("%f\n",x);
				break;
			}
			x=x-(pow(x,3)-n)/(3*pow(x,2));
		}
	}
	
	return 0;
}