题目描述:
用迭代法求 平方根
公式:求a的平方根的迭代公式为: X[n+1]=(X[n]+a/X[n])/2 要求前后两次求出的差的绝对值少于0.00001。 输出保留3位小数
代码:
欲求a的平方根,首先猜测一个值X1=a/2,然后根据迭代公式 X(n+1)=(Xn+a/Xn)/2,
算出X2,再将X2代公式的右边算出X3等等,直到连续两次算出的Xn和X(n+1)的差的绝对值小于
某个值,即认为找到了精确的平方根
package lanqiao;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
double a = sc.nextDouble();
double cha;
double y,x=a/2;
do {
y = (x +a/x)/2;
cha = Math.abs(y-x);
x = y;
}while (!(cha <0.00001));
System.out.printf("%.3f",x);
}
}