牛頓法開平方

需求

計算一個整數的平方根。

分析

牛頓迭代法

牛頓迭代法(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;
}

輸出測試

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章