Java經典筆試題之求立方根

求立方根,輸入一個數字,輸出爲小數,精確到一位小數。

import java.text.DecimalFormat;
import java.util.Scanner;
public class Main{
    
    //不用java 類庫,牛頓迭代法求立方根
    private static double convertDouble(Double num){
        if(num==0){
            return num;
        }
        double num1,num2;
        num1=num;
        num2=(num1*2/3)+(num/(num1*num1*3));
        while(Math.abs(num2-num1)>0.000001){
            num1=num2;
            num2=(num1*2/3)+(num/(num1*num1*3));
        }
        DecimalFormat df=new DecimalFormat("#.0");
        return Double.parseDouble(df.format(num2));
    }
    
    public static void main(String[] args){
        Scanner in =new Scanner(System.in);
        Double inputDouble=in.nextDouble();
        System.out.println(convertDouble(inputDouble));
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章