计算机二分法求算术平方根(二分法求解平方根)

计算机二分法求算术平方根(二分法求解平方根)(1)

一般程序都自带平方根算法,比如Math.Sqrt

还可以用二分法求解平方根。

Imports System.Math Public Class Form1 Function sqrt1(x As Double) As Double Dim EPSINON, low, high, mid As Double EPSINON = 0.0000000000001 '精度 low = 0.0 high = x While ((high - low) > EPSINON) mid = (low high) / 2 If mid * mid = x Then Exit While If (mid * mid > x) Then high = mid Else low = mid End If End While Return mid End Function Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim a, b1, b2 As String a = CInt(TextBox1.Text) b1 = CStr(Math.Sqrt(a)) b2 = CStr(sqrt1(a)) MsgBox(b1 vbCrLf b2) End Sub

就是定义一个最小值0和最大值number,把一个数取一个中间值(0 number)/2,然后平方,如果平方大于该数值,就把中间值赋给最大值,否者就把中间值赋给最小值,一直循环,直到取到想要的精度为止

计算机二分法求算术平方根(二分法求解平方根)(2)

计算机二分法求算术平方根(二分法求解平方根)(3)

注意:

EPSINON = 0.0000000000001 '精度

通过调整精度,可以得到近似值。

因为二分法本质是一种逼近算法,通过不断二分逼近,可以得到精确值。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页