求解立方根

计算一个浮点数的立方根,不使用库函数。保留一位小数。

输入描述:

待求解参数,为double类型(一个实数)

输出描述:

输出参数的立方根。保留一位小数。

示例1

输入
19.9
输出
2.7

示例2

输入
2.7
输出
1.4

Java 编程

package cn.net.javapub.demo2.demo;

/**
 * @author: shiyuwang
 */

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        double input = Double.parseDouble(br.readLine());
        boolean flag = false;
        if (input < 0) {
            flag = true;
            input = -input;
        }
        double distance = input;//误差或者增加的距离
        double index = 0;
        double last = 0;
        while (true) {
            last = index * index * index;
            if (last > input) {
                index -= distance;
                distance /= 10;
            }
            if (distance < 0.001) {
                break;
            }
            index += distance;
        }
        double result = (int) ((index + 0.05) * 10) / 10.0;
        if (flag) {
            result = 0 - result;
        }
        System.out.println(result);
    }
}

展示效果:

华为OD机试 - 求解立方根 (Java 2024 E卷 100分)_java