迭代法求平方根

2021-09-23 18:50:17 字數 920 閱讀 8761

踩了個坑,在判斷迴圈成立條件的時候理解錯了,一直報錯。
題目描述

用迭代法求 平方根

公式:求a的平方根的迭代公式為: x[n+1]=(x[n]+a/x[n])/2 要求前後兩次求出的差的絕對值少於0.00001。 輸出保留3位小數輸入x

輸出x的平方根

樣例輸入

4樣例輸出

2.000

解題思路以及注意事項:
迭代法迭代法也稱輾轉法,是一種不斷用變數的舊值遞推新值的過程。

大家要有靈活運用迭代法思維,本題就是先讓x=(1+4/1)/2=2.5;然後第二次x=(2.5+4/2.5)/2=2.05。。。如此下去就會越來越接近2是不是!就跟開方一樣。直到最後進度滿足了就退出迴圈。

#include"stdio.h"

#include"math.h" //包含fabs()函式的標頭檔案,別忘了加

int main()

while(fabs(x-x1)<1e-5); //fabs()絕對值函式

printf("%lf",x);

return 0;

}

以上是錯誤**,

只執行了一次就gg了。

正確**如下:

#include"stdio.h"

#include"math.h" //包含fabs()函式的標頭檔案,別忘了加

int main()

while(fabs(x-x1)>1e-5); //fabs()絕對值函式

printf("%lf",x);

return 0;

}

迭代法求平方根

迭代法也稱輾轉法,是一種不斷用變數的舊值遞推新值的過程,跟迭代法相對應的是直接法,即一次性解決問題。迭代法又分為精確迭代和近似迭代,二分法 和 牛頓迭代法 屬於近似迭代法。迭代演算法是用計算機解決問題的一種基本方法。它利用計算機運算速度快 適合做重複性操作的特點,讓計算機對一組指令 或一定步驟 進行...

牛頓迭代法求平方根

sqrt 方法 public static double sqrt double c 什麼是牛頓迭代法 多數方程不存在求根公式,牛頓提出了一種用迭代來求方程近似根的方法。思路就是不斷取切線,用線性方程的根逼近非線性方程f x 0的根x 過程簡介 過點 xk,f xk 作函式的切線,切線方程是 切線與...

用迭代法求平方根

用迭代法求 x 根號a。求平方根的迭代公式為 x n 1 xn a xn 2。要求前後兩次求出的x的差的絕對值小於 10的負5次冪。迭代是重複反饋過程的活動,其目的通常是為了逼近所需目標或結果。每一次對過程的重複稱為一次 迭代 而每一次迭代得到的結果會作為下一次迭代的初始值。重複執行一系列運算步驟,...