题目1166:迭代求立方根

来源:互联网 发布:顶级域名有几种类型 编辑:程序博客网 时间:2024/04/29 10:28
题目描述:

立方根的逼近迭代方程是 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);}}}


0 0
原创粉丝点击