使用牛顿迭代法解决问题

牛顿迭代法是一种高效的求平方根算法,收敛速度快

using namespace std;

int main() {
    int n;
    cin >> n;

    if (n == 0) {
        cout << 0 << endl;
        return 0;
    }

    // 初始化迭代值,这里选择n作为初始值
    long long x = n;

    // 牛顿迭代法:x = (x + n/x) / 2
    while (x * x > n) {
        x = (x + n / x) / 2;
    }

    cout << x << endl;
    return 0;
}