Acwing 数的三次方根 (浮点数二分) java

🤠 参考链接


import java.util.*;

public class 数的三次方根
{
	public static void main(String[] args)
	{
		Scanner sc = new Scanner(System.in);
		double n = sc.nextDouble();

		double l = -10000, r = 10000;
//		浮点数二分,有可能无穷,所以只要 l r 无穷接近即可,具体的精度按题目所给+2(保险)
		while (r - l > 1e-8)
		{
			double m = (r + l) / 2;// 浮点数 不能用位移
			if (m * m * m > n)
//				边界更新为同一个点
				r = m;
			else
			{
//				边界更新为同一个点
				l = m;
			}
		}
//		保留 6 位小数
		System.out.printf("%.6f", l);
	}
}
posted @ 2023-02-20 14:22  兑生  阅读(12)  评论(0)    收藏  举报  来源
Live2D