sqart平方根计算的两种方法实现(累加逼近和二分法)

本文介绍了C/C++中计算平方根的两种方法:累加逼近和二分法。累加逼近适用于小数值,但效率较低;二分法则具有更高精度和效率。代码示例展示了这两种方法的实现。
摘要由CSDN通过智能技术生成

       sqart函数是c/c++数学计算的一个常用函数,sqart开方的主要思路是利用逼近的方法进行实现,精度最低,计算效率最低的方式是直接累加逼近;精度较高而且使用范围较广的方法是牛顿迭代法;精度最高,而且具有最大效率的方法则是二分法。

      首先介绍的是直接使用累加进行逼近,这里需要设置一个阈值,我设置的阈值为0.001,对于较小的被开方数,累加进行逼近是可以接受的,但是对于较大的被开方数,这种方法不具任何意义。累加逼近的代码如下:   

#define limits 0.001
void mysqrt(double num)
{
	double i=0.0;
   while((num-i*i>limits))
   {
	   i+=0.001;
   }
  printf("%f",i);
  printf("\n");
}
   
       对于二分法计算平方根,需要先确定被开方数与1的大小关系,被开方数大于1,开方的值小于被开方数;被开方数小于1,开方的结果大于被开方数;如下是二分法计算开方的代码:

<span style=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值