龙空技术网

解析华为机试题——求解立方根

睿智的仁杰 61

前言:

目前小伙伴们对“java立方函数”大致比较注重,看官们都需要学习一些“java立方函数”的相关资讯。那么小编也在网络上网罗了一些有关“java立方函数””的相关知识,希望你们能喜欢,大家快快来学习一下吧!

题目描述

•计算一个数字的立方根,不使用库函数

详细描述:

•接口说明

原型:

public static double getCubeRoot(double input)

输入:double 待求解参数

返回值:double 输入参数的立方根,保留一位小数

输入描述:

待求解参数 double类型

输出描述:

输入参数的立方根 也是double类型

示例1

输入

216

输出

6.0
解题思路

方法一

利用二分查找法,如果a的立方根是3,那么通过二分法逐渐从0到改值尝试做立方,最终找到该值或者接近该立方根的值(在指定范围内)。

代码实现(方法一实现)

import java.util.Scanner;public class Main{        public static void main(String[] args){        Scanner sc = new Scanner(System.in);        while(sc.hasNext()){            double a = sc.nextDouble();            System.out.printf("%.1f",result(a));        }    }        public static double result(double a){        double min = 0;        double max = a;        double mid = 0;        while( (max - min) > 0.0001){            mid = (max + min) / 2;            if(mid * mid * mid > a){               max = mid;               continue;            }             if(mid * mid * mid < a){               min = mid;               continue;            }            return mid;        }        return max;    }}

华为机试题没有任何代码提示,包括导包,练习最好手动写代码!!!

标签: #java立方函数 #java 立方根库函数