开平方算法(swift)

给定一个数,求平方根

一般在正常的学习过程中,4的平方根是2,9的平方根是3。。。。,但是机器是不懂这种思维方式的,需要有一定的逻辑实现。
这里采用两种简便算法求其结果

1、二分查找法

    1、先从0-n之间的中间数mid开始查找,如果这个mid*mid中间数相乘大于n,就说明平方根在0-mid之间,以此类推
    2、如果如果这个mid*mid中间数相乘小于n,说明平方根在mid-n之间,以此类推
    3、代码实现如下
        func kaiPingFang(num: CGFloat) -> CGFloat {
            var low: CGFloat = 0
            var high = num
            let FixedNum:CGFloat = 0.0001
            var mid = (low + high) / 2 //中间值
            while (high - low) > FixedNum {
                  if mid * mid > num {
                      //如果大于num,说明平方根在low--mid之间  把mid赋值给high
                      high = mid
                  }else{
                      //如果小于num,说明平方根在mid--high之间  把midz赋值给low
                      low = mid
                  }
                  mid = (low + high) / 2
              }
              return mid
         }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。