計算sqrt(2),要求精確到小數點後10位。常見的有二分法,牛頓迭代法,還有利用連分數的一些迭代法。
#include#include#include#include using namespace std;
const double eps = 1e-10;
// 二分法
double sqrt1(int x)
return l;
}// 牛頓迭代法 x_n+1 = x_n - f(x_n)/f'(x_n)
double sqrt2(int x)
return a;
}// 連分數法
double sqrt3(int x)
return a;
}// 連分數法2 \sqrt = a + b/(2a + b/(2a+...))
double sqrt4(int x)
}b = x - a * a;
// cout << a << " " << b << endl;
double pre = 0, cur = b/(2*a);
while(abs(pre - cur) > eps)
return a + cur;
}// 手算開平方
double sqrt5(int x)
int main()
計算2 (根號2) 二分法解決
解題思路 既然要求2 的值,可以首先確定的是值的範圍在1 2之間,所以可以 確定區間為 1,2 如果mid 2 令right mid 如果mid 2 令left mid,所以之間可以借助函式f x x x來實現。實現 由於2 是無理數,所以只能獲取近似值,這裡不妨以精度1e 5為例 const do...
sqrt 方根計算函式的實現2 牛頓迭代法
牛頓迭代法 牛頓迭代法又稱為牛頓 拉夫遜方法,它是牛頓在17世紀提出的一種在實數域和複數域上 似求解方程的方法。多數方程不存在求根公式,因此求精確根非常困難,甚至不可能,從而尋找方程的 似根就顯得特別重要。方法使用函式f x 的泰勒級數的前面幾項來尋找方程f x 0的根。牛頓迭代法是求方程根的重要方...
計算機二級課程記錄(2)
includemain 字母 下劃線 字母下劃線開頭 數字非關鍵字 大小寫數值型常量 二進位制 0 11 八進位制 00 015 十六進製制 0x0 0x111無符號型別 unsigned short 2位元組 unsigned 4位元組 unsigned long 4位元組 有符號型別 signe...