-
题目描述:
-
立方根的逼近迭代方程是 y(n+1) = y(n)*2/3 + x/(3*y(n)*y(n)),其中y0=x.求给定的x经过n次迭代后立方根的值。
-
输入:
-
输入有多组数据。
每组一行,输入x n。
-
输出:
-
迭代n次后的立方根,double精度,保留小数点后面六位。
-
样例输入:
-
3000000 28
-
样例输出:
-
144.224957
import java.io.FileReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.BufferedReader;
import java.util.Scanner;
class Main
{
public static final boolean DEBUG = false;
public static void main(String[] args) throws IOException
{
Scanner cin;
int n;
double x;
if (DEBUG) {
cin = new Scanner(new FileReader("d:\\OJ\\uva_in.txt"));
} else {
cin = new Scanner(new InputStreamReader(System.in));
}
while (cin.hasNext()) {
x = cin.nextDouble();
n = cin.nextInt();
double a = x, b = 0;
for (int i = 0; i < n; i++) {
b = a * 2.0 / 3.0 + x / (a * a * 3.0);
a = b;
}
System.out.printf("%.6f\n", b);
}
}
}