【华为OJ】【066-求解立方根】
来源:互联网 发布:工业现场数据采集 编辑:程序博客网 时间:2024/06/05 09:17
【华为OJ】【算法总篇章】
【华为OJ】【066-求解立方根】
【工程下载】
题目描述
计算一个数字的立方根,不使用库函数详细描述: 接口说明 原型: public static double getCubeRoot(double input) 输入:double 待求解参数 返回值:double 输入参数的立方根
输入描述
待求解参数 double类型
输出描述
输入参数的立方根 也是double类型
输入例子
216
输出例子
6.0
算法实现
import java.util.Scanner;/** * Author: 王俊超 * Date: 2015-12-27 16:40 * Declaration: All Rights Reserved !!! */public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);// Scanner scanner = new Scanner(Main.class.getClassLoader().getResourceAsStream("data.txt")); while (scanner.hasNext()) { double d = scanner.nextDouble(); System.out.printf("%.1f", getCubeRoot(d)); } scanner.close(); } /** * 使用牛顿迭代法求立方根 * 已知利用牛顿迭代法求方程F(x)=0的解的公式为X[n+1] = X[n] - F(X[n])/F'(X[n]), * 其中x[n]为第n次利用此公式求得值。 * 假如函数F(X) = X^m - a, 则根据牛顿迭代法第n+1次求方程F(x) = 0的解为X[n+1], * 且X[n+1] = (1-1/m)*X[n] +a/(n*X[n]^(m-1)) - (X[n]*X[n]*X[n]+a)/3*X[n]*X[n]。 * * @param x * @return */ private static double getCubeRoot(double x) { double x0; double x1 = x; do { x0 = x1; x1 = 2.0 / 3.0 * x0 + x / 3.0 / (x0 * x0); } while (Math.abs(x1 - x0) > 0.000001); return x1; }}
2 0
- 【华为OJ】【066-求解立方根】
- 【华为oj】求解立方根
- 华为oj求解立方根
- 【华为 OJ 】求解立方根
- 【华为OJ】求解立方根
- 【华为oj】求解立方根
- 华为OJ(求解立方根)
- 华为OJ 初级:求解立方根
- 华为oj之求解立方根
- 华为oj初级 求解立方根
- 华为OJ题目(十五):求解立方根
- 华为oj 字符逆序&&求解立方根&&最小公倍数
- 华为OJ平台——求解立方根
- 华为OJ——求解立方根
- OJ--------最小公倍数+求解立方根
- 【华为机试】求解立方根
- 华为OJ1964-求解立方根(牛顿迭代法)
- 求解立方根
- 易經大意 041_060
- C++设计模式浅识策略模式
- linux centos6.5下mysql 数据库的源码安装
- LeetCode 304. Range Sum Query 2D - Immutable
- JDBC注册驱动程序三种方式
- 【华为OJ】【066-求解立方根】
- 【华为OJ】【067-求最小公倍数】
- day64 Spark SQL下Parquet的数据切分和压缩内幕详解
- day65-Spark SQL下Parquet深入进阶
- 【华为OJ】【068-购物单】
- 【华为OJ】【069-简单错误记录】
- Failed to find provider info for com.tencent.mm.sdk.plugin.provider
- 11招教你如何玩转数据库设计
- 【华为OJ】【070-记票统计】