二分法求開平方根


java 實現二分法求開平方根 

思想:通過二分查找不斷縮小值的范圍,根據精確的位數求的無限接近的平方根。

public static void main(String[] args) {
System.out.println("start: " + new Date().getTime());
double num = 0.16;
double temp = 0;
if(num > 1) {
temp = execute(0, num, num);
} else { // 大於0小於1的值
temp = execute(0, 1, num);
}
System.out.println("end: " + new Date().getTime());
System.out.println(temp);
}

/**
* desc: 二分法計算開平方根
* @param min 最小區間值
* @param max 最大區間值
* @param num 被開平方數
* @return
*/
public static double execute(double min, double max, double num) {
double temp = (min + max) / 2.0; // 求得中間值
if (max-min <= 0.000001) { // 精確的位數
return temp;
} else if (temp * temp > num) { // 判斷區間值
return execute(min, temp, num); // 遞歸調用
} else if (temp * temp < num) {
return execute(temp, max, num);
} else {
return temp;
}
}

請多指教!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM