平方根怎么计算?比如169的平方根是13!怎么计算?

1个回答

  • 67081的平方根=259

    算法1:

    假设被开放数为a,如果用sqrt(a)表示根号a 那么((sqrt(x)-sqrt(a/x))^2=0的根就是sqrt(a)

    变形得

    sqrt(a)=(x+a/x)/2

    所以你只需设置一个约等于(x+a/x)/2的初始值,代入上面公式,可以得到一个更加近似的值,再将它代入,就得到一个更加精确的值……依此方法,最后得到一个足够精度的(x+a/x)/2的值.

    如:计算sqrt(5)

    设初值为2

    1)sqrt(5)=(2+5/2)/2=2.25

    2)sqrt(5)=(2.25+5/2.25)/2=2.236111

    3)sqrt(5)=(2.236111+5/2.236111)/2=2.236068

    这三步所得的结果和sqrt(5)相差已经小于0.001

    或者可以用二分法:

    设f(x)=x^2-a

    那么sqrt(a)就是f(x)=0的根.

    你可以先找两个正值m,n使f(m)0

    根据函数的单调性,sqrt(a)就在区间(m,n)间.

    然后计算(m+n)/2,计算f((m+n)/2),如果它大于零,那么sqrt(a)就在区间(m,(m+n)/2)之间.

    小于零,就在((m+n)/2,n)之间,如果等于零,那么(m+n)/2当然就是sqrt(a).这样重复几次,你可以把sqrt(a)存在的范围一步步缩小,在最后足够精确的区间内随便取一个值,它就约等于sqrt(a).