LZ_Jaja

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

import java.text.DecimalFormat;
import java.util.Scanner;

/*
* 题目描述:
* 立方根的逼近迭代方程是 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
*/

public class q1166 {

  public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);

    while(scanner.hasNext()) {

      double x = Double.parseDouble(new DecimalFormat(".000000").format(scanner.nextDouble()));
      int n = scanner.nextInt();

      double y = Double.parseDouble(new DecimalFormat(".000000").format(x));

      for(int i=1; i<=n; i++) {

        y = 2.0/3.0*y + x / (3.0*y*y);

      }


      System.out.println(new DecimalFormat(".000000").format(y));


    }

  }

}

posted on 2016-05-06 13:20  LZ_Jaja  阅读(189)  评论(0编辑  收藏  举报