二分法
首先根号2一定在0到2之间,
找出0和2的中点1,1的平方还是1,小于2,所以根号2一定在1到2之间;
找出1和2的中点1.5,1.5的平方是2.25,大于2,所以根号2一定在1到1.5之间;
找出1和1.5的中点1.25,1.25的平方是1.5625,小于2,所以根号2一定在1.25到1.5之间;
以此类推,直到找到小数点后第k位。
这种方法很简单,容易想到,但就是有些麻烦。代码如下:
public static double gen(int k) {
double left = 0;
double right = 2;
double middle = (left+right)/2;
while(String.valueOf(middle).length()<=k+1) {
if(Math.pow(middle, 2)<=2) {
left = middle;
}
if(Math.pow(middle, 2)>2) {
right = middle;
}
middle = (left + right)/2;
}
return middle;
}
}
使用java求解根号2
最新推荐文章于 2023-09-12 11:26:19 发布