码迷,mamicode.com
首页 > 其他好文 > 详细

立方根求解(牛顿迭代法)

时间:2016-07-11 01:40:08      阅读:846      评论:0      收藏:0      [点我收藏+]

标签:字符串


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

详细描述:

接口说明

原型:

public static double getCubeRoot(double input)

输入:double 待求解参数

返回值:double  输入参数的立方根



输入描述:

待求解参数 double类型



输出描述:

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


输入例子:
216


输出例子:
6.0





import java.util.Scanner;

//普通方法 
public class Main {
    public static void main(String[] args) {
        Scanner cin = new Scanner(System.in);
        while(cin.hasNext()) {
            double input = cin.nextDouble();
            double min = 0;
            double max = input;
            while(max - min > 0.00001) {
                double temp = (min + max) / 2;
                 
                if(temp*temp*temp > input) {
                    max = temp;
                } else  {
                    min = temp;
                }
            }
            min*=10;
            double small = min - (int)min;
            if(small >= 0.5) {
                min++;
            }
            int n = (int)min;
            min=(double)n/10;
            System.out.println(min);
        }
    }
}


//牛顿迭代

  1. #include <stdio.h>                 

  2. //#include <stdlib.h>                 

  3.   

  4. #define jingdu 0.0001                 

  5. double          newton_diedai(         double          a){        

  6.     double          xn,xn_1;        

  7.   

  8.     xn=1;  

  9.     xn_1 = xn-((xn*xn*xn-a)/(3*xn*xn));  

  10.     while         (xn-xn_1>jingdu || xn-xn_1<-jingdu){        

  11.         xn = xn_1;  

  12.         xn_1 = xn-((xn*xn*xn-a)/(3*xn*xn));  

  13.     }  

  14.     return          xn_1;        

  15. }  

  16.   

  17. int          main(         void         ){        

  18.     double          a;        

  19.   

  20.     scanf("%lf"         , &a);        

  21.     a = newton_diedai(a);  

  22.     printf("%.1f"         , a);        

  23.   

  24.    // system("pause"         );        

  25.     return          0;        

  26. }  


本文出自 “走得远.看的深” 博客,谢绝转载!

立方根求解(牛顿迭代法)

标签:字符串

原文地址:http://2462852817.blog.51cto.com/11224080/1813910

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!