递归求方根

简介: #include double mysqrt(double a,double x0){ double x1; x1=(x0+a/x0)/2.0; if(fabs(x1-x0)>0.0000000000001) return mysqrt(a,x1);//第一个参数为始终是a,2x1=x0+x0/2...

#include <stdio.h>
double mysqrt(double a,double x0)
{
double x1;
x1=(x0+a/x0)/2.0;
if(fabs(x1-x0)>0.0000000000001)
return mysqrt(a,x1);
//第一个参数为始终是a,2x1=x0+x0/2,当x0和x1近似相等时,x1*x1=a,所以参数a固定,返回x1
else
return x1;
}
int main()
{
double x;
scanf("%lf",&x);
printf("The sqrt of %f=%f\n",x,mysqrt(x,1.0));
return 0;
}

目录
相关文章
素因子分解(递归求解)
素因子分解(递归求解)
117 0
|
5月前
|
C++
数的三次方根(二分查找的应用)
数的三次方根(二分查找的应用)
|
5月前
递归求解汉诺塔问题(超详解)
递归求解汉诺塔问题(超详解)
|
算法
秒懂算法 | 递推方程求解方法
时间复杂度和空间复杂度表示为递推方程的两种求解方法。
314 1
秒懂算法 | 递推方程求解方法
二分法求三次方根
二分法求三次方根
58 0
|
机器学习/深度学习 算法
斐波拉契数列的递推递归求解算法
斐波拉契数列的递推递归求解算法
105 0
递归求解汉诺塔问题
博主之前有写过关于递归问题的思维模式: [递归的思路](https://blog.csdn.net/qq_43575801/article/details/124029190?spm=1001.2014.3001.5501) 下面将用这种思维模式来求解经典汉诺塔问题。
134 0
递归求解汉诺塔问题
雅克比迭代法求解线性方程组
雅克比迭代法求解线性方程组
115 0