Java 蓝桥杯 算法提高 编程求解根号3

资源限制
时间限制:1.0s 内存限制:256.0MB

问题描述
  进行数学运算是计算机的主要能力,利用计算机的重复计算能力可以帮助人们求解一些十分复杂的数学运算,比如高次方程、求根,求平方等。根号运算是数学的基本运算,对于无理数的求解,我们可以使用两边取值,不断逼近的方法进行求解。现要求你编程实现根号3的求解。
输入格式
  无输入
输出格式
  输出根号3的求解结果
样例输入

样例输出

数据规模和约定
  初始边界值分别为:low=1.0,high=2.0,更新边界值使用平均数,并要求循环20次后输出结果。

二分查找法:

public class Main {
	public static void main(String[] args) {
		double low=1.0;
		double high=2.0;
		double n=3.0;
		double average = 0,sum;
		for(int x=0;x<20;x++) {
			average=(low+high)/2;
			sum=average*average;
			if(sum>n) 
				high=average;
			else
				low=average;
		}
		System.out.printf("%.5f",average);
	}
}

你可能感兴趣的:(蓝桥杯算法提高(Java))