【牛客網】求解立方根 保留小數

在這裏插入圖片描述
在這裏插入圖片描述



我的做法,利用二分法,找方程的根。

x^3-input = 0;



import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNext()) {
            double d = in.nextDouble();
            String res = getCubeRoot(d);
            System.out.println(res);
        }
    }

    // 保留一位小數,求解立方根。
    public static String getCubeRoot(double input) {
        double res = method(0, input, input);
//        System.out.println(res);
        int i = (int) (res * 100);
        if (i % 10 < 5) {
            int j = i / 10;
            return j / 10 + "." + j % 10;
        } else {
            int j = i / 10 + 1;
            return j / 10 + "." + j % 10;
        }

    }


    // 這個方法能夠返回一個double的立方根,範圍在i和j之間。返回的是(i+j)/2
    public static double method(double i, double j, double input) {
        double mid = (i + j) / 2.0;
        if (j - i < 0.01) return mid;
        if (mid * mid * mid < input) {
            return method(mid, j, input);
        } else return method(i, mid, input);
    }
}

保留兩位小數。四捨五入

如圖:

  1. printf 結合 “%.2f”
  2. print 結合 String.format("%.2f", xxxx)
  3. 第三種,並不能四捨五入,完全把小數部分拋去了
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章