用迭代法求x=sqrt{a}。求平方根的迭代公式为

用迭代法求x=$\sqrt{a}$。求平方根的迭代公式为

 用迭代法求x=$\sqrt{a}$。求平方根的迭代公式为

要求前后两次求出的x的差的绝对值小于$10^{-5}$。

答案解析:

题面上已经告诉两条信息,一个是x=$\sqrt{a}$,所以我们可以通过a求出x的值。另外一条是$x_{n+1}$ = $\frac{1}{2}$($x_{n}$ + $\frac{a}{x_n}$),可以通过x的值求出$x_{n+1}$的值,所以,只需要轮询的计算,不断的计算差值,直到满足差值小于$10^{-5}$就可以停止了

代码示例:

#include <stdio.h>
#include <math.h>

int main()
{
  float a, x0, x1;
  printf("请输入一个正数: ");
  scanf("%f", &a);
  x0 = a / 2;
  x1 = (x0 + a / x0) / 2;
  do
  {
    x0 = x1;
    x1 = (x0 + a / x0) / 2;
  } while (fabs(x0 - x1) >= 1e-5);
  printf("[%f] 的平方根为 [%f]\n", a, x1);
  return 0;
}

运行截图:

用迭代法求x=sqrt{a}。求平方根的迭代公式为

posted @ 2021-05-10 12:19  张昊59  阅读(656)  评论(0)    收藏  举报