必威体育Betway必威体育官网
当前位置:首页 > IT技术

12、计算机如何实现开根号?

时间:2019-06-19 22:42:08来源:IT技术作者:seo实验室小编阅读:106次「手机版」
 

根号计算器

如何求一个数字的算术平方根(又叫开根号,或者开方)? 大家普遍都是用计算器直接计算的,对于程序员来说,就是调用sqrt()方法。但是其内部又是怎么实现的呢?

方法一:迭代

学过计算方法的应该都还有印象:一个函数 f(x) 在区间 [a,b] 上连续,且 f(x)=0 在 x∈[a,b] 上有解,求x?

最简单的就是用二分法:分别求f(a)、f(b)、f[(a+b)/2],哪两个乘积为负数则把那两个区间当做 [a,b] ,然后一直循环,直到 a-b 达到要求的精度为止。

再有一种就是用迭代法:迭代法有很多种,公共的思想是选一个数值,然后不断循环迭代,让它逐渐逼近真实解。至于怎么迭代可以让它趋近真实解,不同问题的求解用的迭代方法不同,我们暂且先忽略。

其实二分法也算是迭代法的一种了。

double _sqrt(double a)
{
    double x1 = a;
    double x2 = a/2;
    while(fabs(x1-x2) > 0.00000001)  //fabs函数是一个求绝对值的函数,求出x的绝对值
    {
        x1 = x2;
        x2 = (x1+a/x1)/2;     ///////迭代的核心代码
    }
    return x1;
}

x1减少,a/x1增加 , x1减少的幅度大于x2的检少幅度。

时间复杂度 < lgN

参考:https://blog.csdn.net/bone_ace/article/details/45870975

相关阅读

网站死链如何检测和清除

 网站死链接就是网站已经失效的或者打不开的链接,这种链接如果存在网站里特别多的情况下那么就会对网站造成营销,特别是网站改版或

网站UX设计如何影响转化率

UX (User Experience) 使用者体验,根据使用者的习惯,去看怎么样最直觉。安排整个网站页面的内容,传递给使用者感受。能清楚了解使用

如何正确分析对手的网站

从小型的企业站到大型的门户站,以及商城网站等一系列企业网站都离不开分析,分析最关键的就是分析竞争对手的网站,孙子兵法中有一句老

如何优化网站提升排名

 如何优化网站这个问题,提升排名。想必很多人都比较关注,尤其是通过网络环境进行推广营销的企业,更是要让企业网站知名度提升,更好的

如何做好网站标题的优化

网站的标题优化有可能会决定客户是否点击进入网站的决定因素,对网站优化有了解的人,都会知道标题优化是网站优化当中重要的内部因素

分享到:

栏目导航

推荐阅读

热门阅读