利用泰勒公式求一个根号x的平方根近相值,用C语言来表达
时间: 2024-02-09 21:11:54 浏览: 143
C语言入门-leetcode练习之第69题x的平方根.zip
可以使用泰勒公式来近似计算根号x的平方根,具体公式为:
√x ≈ √a + 1/(2√a) * (x-a)
其中a是一个接近x的数,我们可以选择a=x或者a=x/2来进行计算。
用C语言表达这个公式可以这样写:
```c
#include <stdio.h>
#include <math.h>
double sqrt_taylor(double x) {
double a = x; // 选择a=x
double eps = 1e-8; // 迭代终止条件
double last = 0; // 上一个近似值
double cur = a; // 当前近似值
while (fabs(cur - last) > eps) { // 迭代直到满足终止条件
last = cur;
cur = 0.5 * (last + x / last); // 使用牛顿迭代法计算
}
return cur;
}
int main() {
double x = 2; // 以2为例
double result = sqrt_taylor(x);
printf("sqrt(%lf) = %lf\n", x, result);
return 0;
}
```
输出结果为:sqrt(2.000000) = 1.414214
阅读全文