/* 开平方 如果没有计算器,我们如何求2的平方根? 可以先猜测一个数,比如1.5,然后用2除以这个数字。 如果我们猜对了,则除法的结果必然与我们猜测的数字相同。 我们猜测的越准确,除法的结果与猜测的数字就越接近。 根据这个原理,只要我们每次取猜测数和试除反馈数的中间值作为新的猜测数,肯定更接近答案! 这种计算方法叫做“迭代法”。 下面的代码模拟了如何用手工的方法求2的平方根的过程。请填写缺少的代码。 把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。 */ public class 巧开平方 { public static void main(String[] args) { double n = 2; double a = 0; double b = n; while(Math.abs((a-b))>1E-15){ a = (a+b)/2; b = n/a; // 填空 } System.out.printf("%f\n", a); System.out.println(Math.sqrt(n)); } }
运行结果:
1.414214 1.4142135623730951