UVA 10023 Square root(高精度开方)

本文介绍如何利用反馈开方法解决UVA 10023问题,该方法实质上是一种二分搜索思想。通过不断调整A、B,使它们趋近于平方根的中点,直至达到所需的精度。
摘要由CSDN通过智能技术生成

这题啊,没公式还搞不了
这里写图片描述

反馈开方法,实际也是二分搜索的思想

例如要求sqrt(5)
反馈开方法的原理是,令5 = A * B,
5 = A * B的条件下,让A,B不断趋近于中点,直到A = B,这时候 5 = A * B = A * A
那么A就是5的开方

一开始我们取 A = 2
那么 B = 2.5,5 = A*B = 2*2.5
我们发现2和2.5,差距0.5
我们就让A增大一点,增大0.5 / 2 = 0.25,此时A = 2.25
B = 5/2.25 = 2.222,5 = A*B = 2.25 * 2.222
这时候我们发现B 比A小了0.03,这时候我们让A减小一点,那就减小0.015,
此时 A = 2.235 这时候 B = 5/2.235 = 2.237
5 = 2.235 * 2.237
反馈开方法,就是不断调整A,B,直到两个数达到要求的精度,跟二分的思路差不多

import java.math.*;
import java.util.*;

public class Main {
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值