計算根號二sqrt 2

2022-09-22 01:03:08 字數 689 閱讀 4700

計算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...