牛顿法开平方

来源:互联网 发布:网络电视遥控怎么开 编辑:程序博客网 时间:2024/05/17 07:32

需求

计算一个整数的平方根。

分析

牛顿迭代法

牛顿迭代法(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.001int 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;}

输出测试

这里写图片描述

原创粉丝点击