今天筆者突然想用c++實現求平方根的程式,整體的思路是採用迭代法
首先,寫出迭代表達是xk+1=0.5*(xk+y/xk),由於筆者只是求解近似解,
所以,我為的控制了迭代的次數,選擇5次。**如下:
1 #include 2square.cppusing
namespace
std;
3class
square
9void
it_root()
12float getx() const
13float gety() const
14private:15
float
x, y;
16};
1718
1920
intmain()
2126 std::cout << root.getx() <
2728 std::cout << "
hello world!\n";
29 }
結果在vs2017上執行如下圖所示:
迭代法求平方根
迭代法也稱輾轉法,是一種不斷用變數的舊值遞推新值的過程,跟迭代法相對應的是直接法,即一次性解決問題。迭代法又分為精確迭代和近似迭代,二分法 和 牛頓迭代法 屬於近似迭代法。迭代演算法是用計算機解決問題的一種基本方法。它利用計算機運算速度快 適合做重複性操作的特點,讓計算機對一組指令 或一定步驟 進行...
迭代法求平方根
踩了個坑,在判斷迴圈成立條件的時候理解錯了,一直報錯。題目描述 用迭代法求 平方根 公式 求a的平方根的迭代公式為 x n 1 x n a x n 2 要求前後兩次求出的差的絕對值少於0.00001。輸出保留3位小數輸入x 輸出x的平方根 樣例輸入 4樣例輸出 2.000 解題思路以及注意事項 迭代...
c 求平方根(牛頓迭代法)
借鑑了 思路很簡單,就是確定這樣乙個函式 確定乙個點,在這個點做函式的切線,這條切線和x軸的交點會越來越靠近所求的值 接下來就是高一數學,假設這個點是x0,確定的點就是 x0,x0 x0 n 對函式求導,得切線斜率是2x0 計算這個切線和x軸的交點為 x0 x0 num 2 x0 再比較大小,不斷迴...