1. 程式人生 > >計算平方根【牛頓迭代法】

計算平方根【牛頓迭代法】

計算任意數字的平方根

import java.util.*;
import java.math.*;

public class Main{
	public static double sqrt(double c) {
		if(c<0)
			return Double.NaN;
		double err=1e-15;
		double t=c;
		while(Math.abs(t-c/t)>err*t) {
			t=(c/t+t)/2.0;
		}
		return t;
	}
	public static void main(String[] args) {
		Scanner cin=new Scanner(System.in);
		int T=cin.nextInt();
		int ca=1;
		while((T--)!=0) {
			double x=cin.nextDouble();
			System.out.println(sqrt(x));
			System.out.println(Math.sqrt(x));
		}
		cin.close();
	}
}