牛顿法开平方

xiaoxiao2021-02-28  97

需求

计算一个整数的平方根。

分析

牛顿迭代法

牛顿迭代法(Newton’s method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。多数方程不存在求根公式,因此求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要。方法使用函数f(x)的泰勒级数的前面几项来寻找方程f(x) = 0的根。牛顿迭代法是求方程根的重要方法之一,其最大优点是在方程f(x) = 0的单根附近具有平方收敛,而且该法还可以用来求方程的重根、复根,此时线性收敛,但是可通过一些方法变成超线性收敛。另外该方法广泛用于计算机编程中。

代码

#include <cstdio> #include <iostream> using namespace std; #define LIMIT 0.001 int main() { int n; cin >> n; double x = n / 2, c = x + 1 + LIMIT; while(x - c > LIMIT || c - x > LIMIT) { c = x; x = (x + n / x) / 2; } cout << x << endl; return 0; }

输出测试

转载请注明原文地址: https://www.6miu.com/read-37255.html

最新回复(0)